Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame^] | 1 | From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001 |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 13 Jun 2018 23:16:53 -0700 |
| 4 | Subject: [PATCH] use posix strerror_r unless on gnu libc system |
| 5 | |
| 6 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 7 | --- |
| 8 | open-vm-tools/lib/err/errPosix.c | 9 ++++++--- |
| 9 | 1 file changed, 6 insertions(+), 3 deletions(-) |
| 10 | |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame^] | 11 | diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 12 | index c81b4c13..7a403640 100644 |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame^] | 13 | --- a/open-vm-tools/lib/err/errPosix.c |
| 14 | +++ b/open-vm-tools/lib/err/errPosix.c |
Brad Bishop | 1a4b7ee | 2018-12-16 17:11:34 -0800 | [diff] [blame] | 15 | @@ -31,6 +31,7 @@ |
| 16 | #include <errno.h> |
| 17 | #include <string.h> |
| 18 | #include <locale.h> |
| 19 | +#include <stdio.h> |
| 20 | |
| 21 | #include "vmware.h" |
| 22 | #include "errInt.h" |
| 23 | @@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN |
| 24 | { |
| 25 | char *p; |
| 26 | |
| 27 | -#if defined(__linux__) && !defined(__ANDROID__) |
| 28 | +#if defined(__GLIBC__) && !defined(__ANDROID__) |
| 29 | p = strerror_r(errorNumber, buf, bufSize); |
| 30 | #else |
| 31 | - p = strerror(errorNumber); |
| 32 | -#endif |
| 33 | + if (strerror_r(errorNumber, buf, bufSize) != 0) |
| 34 | + snprintf(buf, bufSize, "unknown error %i", errorNumber); |
| 35 | + p = buf; |
| 36 | +#endif /* defined __GLIBC__ */ |
| 37 | ASSERT(p != NULL); |
| 38 | return p; |
| 39 | } |