Mercurial > libpst
view archive/readpst.c.diff @ 110:7133b39975f7 stable-0-6-22
patch from David Cuadrado to process emails with type PST_TYPE_OTHER
base64_encode_multiple() may insert newline, needs larger malloc
subject lines shorter than 2 bytes could segfault
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Fri, 28 Nov 2008 11:36:53 -0800 |
parents | de3753c3160a |
children |
line wrap: on
line source
Index: readpst.c =================================================================== --- readpst.c (revision 45) +++ readpst.c (working copy) @@ -1396,6 +1396,7 @@ // char *rfc2426_escape(char *str) {{{1 char *rfc2426_escape(char *str) { static char *buf = NULL; + static int buflen = 0; char *a, *b; int x, y, z; DEBUG_ENT("rfc2426_escape"); @@ -1411,9 +1412,10 @@ z = chr_count(str, '\r'); x = strlen(str) + y - z; - if ( (y - z) == 0 ) // resize buffer if needed + if ( x + 1 > buflen ) // resize buffer if needed { buf = (char*) realloc(buf, x + 1); // don't forget room for the NUL + buflen = x + 1; if ( buf == NULL ) { fprintf(stderr, "Error: rfc2426_escape(): realloc(%d) returned NULL!\n", x + 1);