aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/xreadlink.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libbb/xreadlink.c b/libbb/xreadlink.c
index 66f63b883..932e487a5 100644
--- a/libbb/xreadlink.c
+++ b/libbb/xreadlink.c
@@ -1,5 +1,6 @@
1/* 1/*
2 * xreadlink.c - safe implementation of readlink 2 * xreadlink.c - safe implementation of readlink.
3 * Returns a NULL on failure...
3 */ 4 */
4 5
5#include <stdio.h> 6#include <stdio.h>
@@ -22,8 +23,10 @@ extern char *xreadlink(const char *path)
22 do { 23 do {
23 buf = xrealloc(buf, bufsize += GROWBY); 24 buf = xrealloc(buf, bufsize += GROWBY);
24 readsize = readlink(path, buf, bufsize); /* 1st try */ 25 readsize = readlink(path, buf, bufsize); /* 1st try */
25 if (readsize == -1) 26 if (readsize == -1) {
26 perror_msg("%s:%s", applet_name, path); 27 perror_msg("%s:%s", applet_name, path);
28 return NULL;
29 }
27 } 30 }
28 while (bufsize < readsize + 1); 31 while (bufsize < readsize + 1);
29 32