diff options
| -rw-r--r-- | maildir/maildircache.c | 3 | ||||
| -rw-r--r-- | rfc2045/rfc2045.c | 2 | ||||
| -rw-r--r-- | sqwebmail/ChangeLog | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/maildir/maildircache.c b/maildir/maildircache.c index 9f14e82..4db3a03 100644 --- a/maildir/maildircache.c +++ b/maildir/maildircache.c @@ -249,17 +249,18 @@ FILE *fp; exit(1); } } - free(f); if ( fwrite(data, strlen(data), 1, fp) != 1 || fflush(fp) || ferror(fp)) { fclose(fp); unlink(f); /* Problems */ + free(f); fprintf(stderr, "CRIT: maildircache: Cache create failure - write error.\n"); exit(1); } else fclose(fp); + free(f); exit(0); } diff --git a/rfc2045/rfc2045.c b/rfc2045/rfc2045.c index 2245f43..8cbd3a7 100644 --- a/rfc2045/rfc2045.c +++ b/rfc2045/rfc2045.c @@ -997,6 +997,7 @@ static void save_content_type_parameter(const char *name, { free(p); rfc2045_enomem(); + return; } free(p); @@ -1076,6 +1077,7 @@ static void save_content_disposition_parameter(const char *name, { free(p); rfc2045_enomem(); + return; } free(p); } diff --git a/sqwebmail/ChangeLog b/sqwebmail/ChangeLog index 66affb7..8e2e570 100644 --- a/sqwebmail/ChangeLog +++ b/sqwebmail/ChangeLog @@ -1,3 +1,7 @@ +2015-04-24 Giovanni Bechis <giovanni@openbsd.org> + + * maildircache.c: fix use after free. + 2015-03-03 Sam Varshavchik <mrsam@courier-mta.com> * Recognize 01-Jan-1970 as a valid RFC 822 date. |
