Displaying 3 results from an estimated 3 matches for "unique_root_dir".
2017 Jan 09
2
multiple shared/mail format namespaces
On January 2, 2017 at 5:58 PM Michal Soltys <soltys at ziu.info> wrote:
>>
>>
>> Hi,
>>
>> Are configurations (with separate formats per namespace) - such as ...
>>
>> namespace {
>> type = shared
>> list = children
>> inbox = no
>> separator = /
>> subscriptions = no
>> prefix = shared1/%%n/
2017 Jan 10
0
multiple shared/mail format namespaces (segv identified + patch)
...on fault.
#0 0x00007fbdaa15929a in __strcmp_sse2_unaligned () from /usr/lib/libc.so.6
(gdb) up
#1 0x00007fbdaa820c50 in mail_storage_match_class (storage=0xdc5800, storage_class=0x7fbdaab715c0 <shared_storage>, set=0x7fff217d6030) at mail-storage.c:285
285 strcmp(storage->unique_root_dir,
(gdb) print storage->unique_root_dir
$1 = 0x0
(gdb)
So the first argument passed to strcmp() was NULL.
The offending part of code is:
if ((storage->class_flags & MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT) != 0 &&
strcmp(storage->unique_root_dir,
(set->root_dir != NULL ? se...
2017 Jan 10
2
[PATCH] mail-storage.c: check against NULL address in strcmp() invocation
.....3d9f5dc 100644
--- a/src/lib-storage/mail-storage.c
+++ b/src/lib-storage/mail-storage.c
@@ -282,7 +282,7 @@ mail_storage_match_class(struct mail_storage *storage,
return FALSE;
if ((storage->class_flags & MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT) != 0 &&
- strcmp(storage->unique_root_dir,
+ strcmp((storage->unique_root_dir != NULL ? storage->unique_root_dir : ""),
(set->root_dir != NULL ? set->root_dir : "")) != 0)
return FALSE;
--
2.1.3