diff options
| author | Sam Varshavchik | 2015-04-24 07:02:07 -0400 | 
|---|---|---|
| committer | Sam Varshavchik | 2015-04-24 07:07:24 -0400 | 
| commit | 11f7324bd33d0105bf8e3816b5bb599bac197255 (patch) | |
| tree | 0cb3e6fc23287dedbabc805d4ffe1ad9998279c6 | |
| parent | 070a5986a3ada0cd6cbb74c77f4e41ed3c4eb48c (diff) | |
| download | courier-libs-11f7324bd33d0105bf8e3816b5bb599bac197255.tar.bz2 | |
Fix use after free.
| -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. | 
