aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2002-04-05 16:06:47 +0800
committerMichael Zucci <zucchi@src.gnome.org>2002-04-05 16:06:47 +0800
commitee5332f908d7bae0796e60e9de0c29c3b132883b (patch)
treefc121ca0bbee0e84a59e44b982bce6873c2276a7
parent49e82f8b9fb67aba12f536c6ea29a640b7a10104 (diff)
downloadgsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar.gz
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar.bz2
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar.lz
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar.xz
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.tar.zst
gsoc2013-evolution-ee5332f908d7bae0796e60e9de0c29c3b132883b.zip
If (body-contains) is not passed any arguments, return empty/false. Fixes
2002-04-04 Not Zed <NotZed@Ximian.com> * providers/imap/camel-imap-search.c (imap_body_contains): If (body-contains) is not passed any arguments, return empty/false. Fixes a crash exposed by #15001. svn path=/trunk/; revision=16362
-rw-r--r--camel/ChangeLog4
-rw-r--r--camel/providers/imap/camel-imap-search.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 49f3e64c11..07e165d70c 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -13,6 +13,10 @@
2002-04-04 Not Zed <NotZed@Ximian.com>
+ * providers/imap/camel-imap-search.c (imap_body_contains): If
+ (body-contains) is not passed any arguments, return empty/false.
+ Fixes a crash exposed by #15001.
+
* camel-remote-store.c (remote_connect): Reset the keepalive
timeout to 10 minutes rather than the 30 seconds I was using for
testing.
diff --git a/camel/providers/imap/camel-imap-search.c b/camel/providers/imap/camel-imap-search.c
index b184843f27..8463eb202b 100644
--- a/camel/providers/imap/camel-imap-search.c
+++ b/camel/providers/imap/camel-imap-search.c
@@ -411,7 +411,7 @@ imap_body_contains (struct _ESExp *f, int argc, struct _ESExpResult **argv, Came
g_ptr_array_add(r->value.ptrarray, (char *)camel_message_info_uid(info));
}
}
- } else if (s->summary->len == 0) {
+ } else if (argc == 0 || s->summary->len == 0) {
/* nothing to match case, do nothing (should be handled higher up?) */
if (s->current) {
r = e_sexp_result_new(f, ESEXP_RES_BOOL);