From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 13 Jun 2018 23:16:53 -0700 Subject: [PATCH] use posix strerror_r unless on gnu libc system Signed-off-by: Khem Raj --- open-vm-tools/lib/err/errPosix.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c index c81b4c13..7a403640 100644 --- a/open-vm-tools/lib/err/errPosix.c +++ b/open-vm-tools/lib/err/errPosix.c @@ -31,6 +31,7 @@ #include #include #include +#include #include "vmware.h" #include "errInt.h" @@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN { char *p; -#if defined(__linux__) && !defined(__ANDROID__) +#if defined(__GLIBC__) && !defined(__ANDROID__) p = strerror_r(errorNumber, buf, bufSize); #else - p = strerror(errorNumber); -#endif + if (strerror_r(errorNumber, buf, bufSize) != 0) + snprintf(buf, bufSize, "unknown error %i", errorNumber); + p = buf; +#endif /* defined __GLIBC__ */ ASSERT(p != NULL); return p; }