summaryrefslogtreecommitdiffstats
path: root/common/textfile.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2006-09-13 14:58:58 +0000
committerJohan Hedberg <johan.hedberg@nokia.com>2006-09-13 14:58:58 +0000
commit50d400b1de38cbf75a2004a53e412dc6343d82bb (patch)
treed4c0b7076e7db4af4786a82341494120a9de197f /common/textfile.c
parentb54cf7efa10d238fb6791275be13f4c1a66d19a9 (diff)
Fix some memory leaks in textfile.c
Diffstat (limited to 'common/textfile.c')
-rw-r--r--common/textfile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/common/textfile.c b/common/textfile.c
index d76398c4..8c46563c 100644
--- a/common/textfile.c
+++ b/common/textfile.c
@@ -219,6 +219,7 @@ static int write_key(const char *pathname, const char *key, const char *value, i
munmap(map, size);
if (ftruncate(fd, base) < 0) {
err = errno;
+ free(str);
goto unlock;
}
pos = lseek(fd, base, SEEK_SET);
@@ -384,6 +385,7 @@ int textfile_foreach(const char *pathname,
end = strpbrk(off, "\r\n");
if (!end) {
err = EILSEQ;
+ free(key);
break;
}
@@ -392,6 +394,7 @@ int textfile_foreach(const char *pathname,
value = malloc(len + 1);
if (!value) {
err = errno;
+ free(key);
break;
}