From 4fa57791930ea07ede9070d3923613b51ed871fc Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Sun, 15 Dec 2013 12:46:03 +0100 Subject: [PATCH] avoid array underflow in IMAP LIST .lock workaround suggested by Mark Wielaard . fwiw, the workaround really is still necessary with panda imap ... --- src/drv_imap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drv_imap.c b/src/drv_imap.c index edef457..2f1f2b1 100644 --- a/src/drv_imap.c +++ b/src/drv_imap.c @@ -1094,7 +1094,7 @@ parse_list_rsp_p2( imap_store_t *ctx, list_t *list, char *cmd ATTR_UNUSED ) goto skip; } } - if (!memcmp( arg + strlen( arg ) - 5, ".lock", 5 )) /* workaround broken servers */ + if ((l = strlen( arg )) >= 5 && !memcmp( arg + l - 5, ".lock", 5 )) /* workaround broken servers */ goto skip; if (map_name( arg, (char **)&narg, offsetof(string_list_t, string), ctx->delimiter, "/") < 0) { warn( "IMAP warning: ignoring mailbox %s (reserved character '/' in name)\n", arg );