37 lines
953 B
Plaintext
37 lines
953 B
Plaintext
From ea1717899294af93f7342069b15fc197b525ad29 Mon Sep 17 00:00:00 2001
|
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
|
Date: Tue, 20 Feb 2018 09:42:43 +0100
|
|
Subject: fix memory leak
|
|
|
|
Index: parseconfig.c
|
|
--- parseconfig.c.orig
|
|
+++ parseconfig.c
|
|
@@ -558,17 +558,24 @@ cfg_write_file(char *dname, char *filename)
|
|
|
|
if (-1 == unlink(bfile) && ENOENT != errno) {
|
|
fprintf(stderr,"unlink(%s): %s\n",bfile,strerror(errno));
|
|
- return -1;
|
|
+ goto err;
|
|
}
|
|
if (-1 == rename(filename,bfile) && ENOENT != errno) {
|
|
fprintf(stderr,"rename(%s,%s): %s\n",filename,bfile,strerror(errno));
|
|
- return -1;
|
|
+ goto err;
|
|
}
|
|
if (-1 == rename(tfile,filename)) {
|
|
fprintf(stderr,"rename(%s,%s): %s\n",tfile,filename,strerror(errno));
|
|
- return -1;
|
|
+ goto err;
|
|
}
|
|
+ free(bfile);
|
|
+ free(tfile);
|
|
return 0;
|
|
+
|
|
+err:
|
|
+ free(bfile);
|
|
+ free(tfile);
|
|
+ return -1;
|
|
}
|
|
|
|
/* ------------------------------------------------------------------------ */
|