summaryrefslogtreecommitdiff
path: root/btt/bno_dump.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2011-12-16 13:15:54 -0600
committerJens Axboe <jaxboe@fusionio.com>2012-02-01 13:14:28 +0100
commit84b321fac4e417b1a1d91df1c5844a3c13ef53e5 (patch)
treea940a187ed7339148c4dc39ae79731f93ff4e8f7 /btt/bno_dump.c
parent6ca1e530ba80c37dc9a686259fe643548ffce69c (diff)
downloadblktrace-84b321fac4e417b1a1d91df1c5844a3c13ef53e5.tar.gz
blktrace-84b321fac4e417b1a1d91df1c5844a3c13ef53e5.tar.bz2
Fix several leaks on error paths
In several cases space is allocated for a filename but not freed if open of that file fails. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'btt/bno_dump.c')
-rw-r--r--btt/bno_dump.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/btt/bno_dump.c b/btt/bno_dump.c
index 02f3811..00c9ac2 100644
--- a/btt/bno_dump.c
+++ b/btt/bno_dump.c
@@ -31,9 +31,10 @@ static FILE *bno_dump_open(struct d_info *dip, char rwc)
oname = malloc(strlen(bno_dump_name) + strlen(dip->dip_name) + 32);
sprintf(oname, "%s_%s_%c.dat", bno_dump_name, dip->dip_name, rwc);
- if ((fp = my_fopen(oname, "w")) == NULL)
+ if ((fp = my_fopen(oname, "w")) == NULL) {
perror(oname);
- else
+ free(oname);
+ } else
add_file(fp, oname);
return fp;
}