More debug info. I built debug version of evolution-data-server from source.
cd evolution-data-server-2.28.3.1
DEB_BUILD_OPTIONS=nostrip,noopt dpkg-buildpackage -rfakeroot -uc -us
dpkg -i
camel-imap-utils.c line 715
imap_parse_string_generic(&str_p,...) (and therefore imap_parse_string()) can
set str_p to NULL!
This is called from imap_body_decode(), where it returns NULL AND sets inptr to
NULL
Then, a little further on at line 928, inptr is dereferenced :(
line 918
if (g_ascii_strncasecmp (inptr, "nil", 3) != 0) {
subtype = imap_parse_string (&inptr, &len);
} else {
subtype = NULL;
inptr += 3;
}
ctype = camel_content_type_new ("multipart", subtype ? subtype
: "mixed");
g_free (subtype);
line 928:
if (*inptr++ != ')') {
camel_content_type_unref (ctype);
return NULL;
}
So, I can see there is a bug, just guessing here...
every other call to imap_parse_string() is followed by
if (inptr == NULL)
return NULL;
Maybe adding it to this one will fix the issue.
...
Works for me!
** Patch added: "Add NULL check after imap_parse_string"
https://bugs.launchpad.net/ubuntu/+source/evolution/+bug/554367/+attachment/1524786/+files/camel-imap-utils.c.patch
--
evolution crashed with SIGSEGV in imap_parse_body()
https://bugs.launchpad.net/bugs/554367
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs