[PATCH] string-util: Disallow empty prefixes in parse_boolean_term
authorAustin Clements <amdragon@MIT.EDU>
Mon, 7 Jan 2013 21:20:40 +0000 (16:20 +1900)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:53:02 +0000 (09:53 -0800)
b2/dd249f3427ada4981410834c233997ce02fa1d [new file with mode: 0644]

diff --git a/b2/dd249f3427ada4981410834c233997ce02fa1d b/b2/dd249f3427ada4981410834c233997ce02fa1d
new file mode 100644 (file)
index 0000000..6bd4c58
--- /dev/null
@@ -0,0 +1,91 @@
+Return-Path: <amdragon@mit.edu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 1E644431FAF\r
+       for <notmuch@notmuchmail.org>; Mon,  7 Jan 2013 13:20:54 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.7\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5\r
+       tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id BegcVXD4ELgN for <notmuch@notmuchmail.org>;\r
+       Mon,  7 Jan 2013 13:20:53 -0800 (PST)\r
+Received: from dmz-mailsec-scanner-2.mit.edu (DMZ-MAILSEC-SCANNER-2.MIT.EDU\r
+       [18.9.25.13])\r
+       by olra.theworths.org (Postfix) with ESMTP id 79FC5431FAE\r
+       for <notmuch@notmuchmail.org>; Mon,  7 Jan 2013 13:20:53 -0800 (PST)\r
+X-AuditID: 1209190d-b7efd6d000001a82-c2-50eb3c353039\r
+Received: from mailhub-auth-1.mit.edu ( [18.9.21.35])\r
+       by dmz-mailsec-scanner-2.mit.edu (Symantec Messaging Gateway) with SMTP\r
+       id 5E.6C.06786.53C3BE05; Mon,  7 Jan 2013 16:20:53 -0500 (EST)\r
+Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103])\r
+       by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id r07LKqOO030143; \r
+       Mon, 7 Jan 2013 16:20:52 -0500\r
+Received: from drake.dyndns.org (a069.catapulsion.net [70.36.81.69])\r
+       (authenticated bits=0)\r
+       (User authenticated as amdragon@ATHENA.MIT.EDU)\r
+       by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id r07LKnXq004005\r
+       (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT);\r
+       Mon, 7 Jan 2013 16:20:51 -0500 (EST)\r
+Received: from amthrax by drake.dyndns.org with local (Exim 4.77)\r
+       (envelope-from <amdragon@mit.edu>)\r
+       id 1TsK7k-0008Ms-CQ; Mon, 07 Jan 2013 16:20:48 -0500\r
+From: Austin Clements <amdragon@MIT.EDU>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH] string-util: Disallow empty prefixes in parse_boolean_term\r
+Date: Mon,  7 Jan 2013 16:20:40 -0500\r
+Message-Id: <1357593640-32122-1-git-send-email-amdragon@mit.edu>\r
+X-Mailer: git-send-email 1.7.10.4\r
+X-Brightmail-Tracker:\r
+ H4sIAAAAAAAAA+NgFlrEIsWRmVeSWpSXmKPExsUixCmqrGtq8zrAYMcONoum6c4W12/OZHZg\r
+       8rh1/zW7x7NVt5gDmKK4bFJSczLLUov07RK4MvbuPcJesIG1Yu3zU0wNjBNZuhg5OSQETCR6\r
+       33UyQthiEhfurWfrYuTiEBLYxyjR9fwoO4SznlGi4dwlJghnP5PE8g8/oMrmMko877rJDtLP\r
+       JqAhsW3/crBZIgLSEjvvzmbtYuTgYBYwl7jZEtfFyM4hLOAtMV0IpIBFQFViz55JYI28Ag4S\r
+       m85eZII4QlGi+9kEtgmMvAsYGVYxyqbkVunmJmbmFKcm6xYnJ+blpRbpGunlZpbopaaUbmIE\r
+       B4Uk7w7GdweVDjEKcDAq8fC+dH0VIMSaWFZcmXuIUZKDSUmUd5Xl6wAhvqT8lMqMxOKM+KLS\r
+       nNTiQ4wSHMxKIrzfHgCV86YkVlalFuXDpKQ5WJTEea+k3PQXEkhPLEnNTk0tSC2CycpwcChJ\r
+       8MpZAw0VLEpNT61Iy8wpQUgzcXCCDOcBGu4NUsNbXJCYW5yZDpE/xagoJc7rBZIQAElklObB\r
+       9cKi9hWjONArwrzaIFU8wIiH634FNJgJaHDq4+cgg0sSEVJSDYxyFoHbN1bfnZJwczpfZzcf\r
+       BwfL7uz1nxg2pP6o++lyY7ai/Il5h0W8HBYekVt54lmtu3o/x9TUxB9fw+qEH7VG1pgHnWFN\r
+       +dUy5VWk4XXdaW0cujusGrf7rgr1+vD1T2PZPVbF0/cunDy5JOiGU21SW1mKhfyyzlUFz/OK\r
+       7W/2nSl2exUgv1GJpTgj0VCLuag4EQCnzOVvtQIAAA==\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 07 Jan 2013 21:20:54 -0000\r
+\r
+Xapian doesn't consider ":abc" to be a prefixed term.  This makes\r
+parse_boolean_term similarly reject queries with an empty prefix.\r
+---\r
+ util/string-util.c |    2 +-\r
+ 1 file changed, 1 insertion(+), 1 deletion(-)\r
+\r
+diff --git a/util/string-util.c b/util/string-util.c\r
+index aba9aa8..a5622d7 100644\r
+--- a/util/string-util.c\r
++++ b/util/string-util.c\r
+@@ -127,7 +127,7 @@ parse_boolean_term (void *ctx, const char *str,\r
+     /* Parse prefix */\r
+     str = skip_space (str);\r
+     const char *pos = strchr (str, ':');\r
+-    if (! pos)\r
++    if (! pos || pos == str)\r
+       goto FAIL;\r
+     *prefix_out = talloc_strndup (ctx, str, pos - str);\r
+     if (! *prefix_out) {\r
+-- \r
+1.7.10.4\r
+\r