X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=libbb%2Fxreadlink.c;h=932e487a59d718093cb29f9d4967d8dc504772e8;hb=95ebf618b78814ef250bf40737816784cdaef74d;hp=66f63b8838cfa4d47bb443f4f1d2d3687d1a3cff;hpb=8a633268ef478a31bd649d582ce07e9c26a4a03a;p=oweals%2Fbusybox.git 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 @@ /* - * xreadlink.c - safe implementation of readlink + * xreadlink.c - safe implementation of readlink. + * Returns a NULL on failure... */ #include @@ -22,8 +23,10 @@ extern char *xreadlink(const char *path) do { buf = xrealloc(buf, bufsize += GROWBY); readsize = readlink(path, buf, bufsize); /* 1st try */ - if (readsize == -1) - perror_msg("%s:%s", applet_name, path); + if (readsize == -1) { + perror_msg("%s:%s", applet_name, path); + return NULL; + } } while (bufsize < readsize + 1);