aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorbug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-08-11 03:50:30 +0000
committerbug1 <bug1@69ca8d6d-28ef-0310-b511-8ec308f3f277>2004-08-11 03:50:30 +0000
commit6eba5c19bc8f5673b264256067be02dca8e8f4a1 (patch)
tree30fdc91297c3c01324165ebc756e4ae31093dfab /libbb
parent99d54f71eaba2eb1b587f75c732ee4c093575758 (diff)
downloadbusybox-w32-6eba5c19bc8f5673b264256067be02dca8e8f4a1.tar.gz
busybox-w32-6eba5c19bc8f5673b264256067be02dca8e8f4a1.tar.bz2
busybox-w32-6eba5c19bc8f5673b264256067be02dca8e8f4a1.zip
Patch from Tito to fix memory leak upon error.
git-svn-id: svn://busybox.net/trunk/busybox@9085 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'libbb')
-rw-r--r--libbb/xreadlink.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c
index 21a657dfc..49823fa7f 100644
--- a/libbb/xreadlink.c
+++ b/libbb/xreadlink.c
@@ -24,8 +24,9 @@ extern char *xreadlink(const char *path)
24 buf = xrealloc(buf, bufsize += GROWBY); 24 buf = xrealloc(buf, bufsize += GROWBY);
25 readsize = readlink(path, buf, bufsize); /* 1st try */ 25 readsize = readlink(path, buf, bufsize); /* 1st try */
26 if (readsize == -1) { 26 if (readsize == -1) {
27 bb_perror_msg("%s", path); 27 bb_perror_msg("%s", path);
28 return NULL; 28 free(buf);
29 return NULL;
29 } 30 }
30 } 31 }
31 while (bufsize < readsize + 1); 32 while (bufsize < readsize + 1);