Re: sanitization of args notmuch-cli in notmuch-emacs

Subject: Re: sanitization of args notmuch-cli in notmuch-emacs

Date: Mon, 03 Feb 2014 23:21:03 +0200

To: David Bremner, notmuch@notmuchmail.org

Cc:

From: Tomi Ollila


On Mon, Feb 03 2014, Tomi Ollila <tomi.ollila@iki.fi> wrote:

> On Mon, Feb 03 2014, David Bremner <david@tethera.net> wrote:
>
>> Antoine Beaupré found a bug when notmuch-saved-searches contains 
>> newlines:
>>
>>         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737496
>>
>> We can remove newlines with something like
>>           
>> (mapcar (lambda (arg) 
>> 	  (replace-regexp-in-string "\n" " " arg))
>> 	args)
>>
>> I wonder if we should do some other sanitization at the same time?
>
> It took a while to reproduce...
>
> $ echo $'foo\nbar' | notmuch count --batch 
> 665
> 631
>
> $ echo $'foo\n and bar' | notmuch count --batch
> 665
> A Xapian exception occurred: Syntax: <expression> AND <expression>
> Query string was:  and bar
> 0
>
> Therefore: (wrong-type-argument number-or-marker-p A)
>
> (I run non-byte-compiled version of (one-) notmuch.el and
> got this as a backtrace:
>
> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p A)
>   >(A 0)
>   (or (plist-get options :show-empty-searches) (> message-count 0))
> ...
>   (notmuch-remove-if-not
> ...
>   notmuch-hello-query-counts
> ...
>
> simpler way to reproduce:
>
> $ notmuch count 'and bar'
> A Xapian exception occurred: Syntax: <expression> AND <expression>
> Query string was: and bar
> 0
>
> Maybe the cli should be fixed ? (and/or make emacs MUA resilient to
> this kind of result)

of yes, the notmuch count --batch gets borken with \n -- from one
query there are 2 new count queries (and counts should be all wrong
from that point on (if there were no Xapian exception))

We would not have noticed this (as easily) if the Xapian execption did not
happen.

So, whether (or not?) some fixing is done in CLI the batch query emacs
sends needs to be sanitized exactly as David suggested above.

>
>>
>> d
>>
>
> Tomi

Tomi


Thread: