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 /maildir | |
| parent | 070a5986a3ada0cd6cbb74c77f4e41ed3c4eb48c (diff) | |
| download | courier-libs-11f7324bd33d0105bf8e3816b5bb599bac197255.tar.bz2 | |
Fix use after free.
Diffstat (limited to 'maildir')
| -rw-r--r-- | maildir/maildircache.c | 3 | 
1 files changed, 2 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);  } | 
