Mercurial > libpst
view archive/libpst.c.diff @ 357:544d57fe6bc6
From Jeffrey Morlan:
try_fork in readpst.c doesn't check that active_children <
max_children before forking a child and adding it to the array. This can
cause a buffer overflow.
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Wed, 06 Jul 2016 10:17:49 -0700 |
parents | de3753c3160a |
children |
line wrap: on
line source
Index: libpst.c =================================================================== --- libpst.c (revision 45) +++ libpst.c (working copy) @@ -296,7 +296,9 @@ size = _pst_ff_getID2data(pf, ptr, &h); // will need to encode any bytes left over c = base64_encode(h.base64_extra_chars, h.base64_extra); - pst_fwrite(c, 1, strlen(c), fp); + if(c != NULL) { + pst_fwrite(c, 1, strlen(c), fp); + } } else { DEBUG_WARN (("Couldn't find ID pointer. Cannot save attachement to Base64\n")); }