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 :(
More debug info. I built debug version of evolution- data-server from source. data-server- 2.28.3. 1 OPTIONS= nostrip, noopt dpkg-buildpackage -rfakeroot -uc -us
cd evolution-
DEB_BUILD_
dpkg -i
camel-imap-utils.c line 715 string_ generic( &str_p, ...) (and therefore imap_parse_ string( )) can set str_p to NULL!
imap_parse_
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 strncasecmp (inptr, "nil", 3) != 0) {
if (g_ascii_
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: content_ type_unref (ctype);
if (*inptr++ != ')') {
camel_
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!