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
Desktop Bugs, which is subscribed to evolution in ubuntu.

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to