summaryrefslogtreecommitdiff
path: root/libbb/xreadlink.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/xreadlink.c')
-rw-r--r--libbb/xreadlink.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c
index 21a657d..49823fa 100644
--- a/libbb/xreadlink.c
+++ b/libbb/xreadlink.c
@@ -24,8 +24,9 @@ extern char *xreadlink(const char *path)
buf = xrealloc(buf, bufsize += GROWBY);
readsize = readlink(path, buf, bufsize); /* 1st try */
if (readsize == -1) {
- bb_perror_msg("%s", path);
- return NULL;
+ bb_perror_msg("%s", path);
+ free(buf);
+ return NULL;
}
}
while (bufsize < readsize + 1);