--- /dev/null
+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