about summary refs log tree commit homepage
path: root/lib/PublicInbox/LeiXSearch.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-03-19 10:35:56 -0200
committerEric Wong <e@80x24.org>2021-03-19 12:46:56 +0000
commitf7af186cf033daae8947f3368378e07ee116bb9c (patch)
tree113c38592bea11322eee07c49bf98fdbe37aa83e /lib/PublicInbox/LeiXSearch.pm
parent30a997d856baec0c73acc376f4a872917cbfed28 (diff)
downloadpublic-inbox-f7af186cf033daae8947f3368378e07ee116bb9c.tar.gz
git 2.11 and earlier could not handle git directories with
newlines in them, nor does libgit2 support them.

Followup-to: d87dd0e679587043 ("config: reject `\n' in `inboxdir'")
Diffstat (limited to 'lib/PublicInbox/LeiXSearch.pm')
-rw-r--r--lib/PublicInbox/LeiXSearch.pm2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm
index 22c8026c..d95a218e 100644
--- a/lib/PublicInbox/LeiXSearch.pm
+++ b/lib/PublicInbox/LeiXSearch.pm
@@ -502,8 +502,10 @@ sub prepare_external {
                 return add_uri($self, URI->new($loc));
         } elsif (-f "$loc/ei.lock") {
                 require PublicInbox::ExtSearch;
+                die "`\\n' not allowed in `$loc'\n" if index($loc, "\n") >= 0;
                 $loc = PublicInbox::ExtSearch->new($loc);
         } elsif (-f "$loc/inbox.lock" || -d "$loc/public-inbox") {
+                die "`\\n' not allowed in `$loc'\n" if index($loc, "\n") >= 0;
                 require PublicInbox::Inbox; # v2, v1
                 $loc = bless { inboxdir => $loc }, 'PublicInbox::Inbox';
         } else {