Bugfix: strerror_r can return an error, and if it does, POSIX does not specify the content of the buffer
This commit is contained in:
parent
a60838d09a
commit
109849e204
1 changed files with 2 additions and 1 deletions
|
@ -1265,7 +1265,8 @@ std::string NetworkErrorString(int err)
|
|||
#ifdef STRERROR_R_CHAR_P /* GNU variant can return a pointer outside the passed buffer */
|
||||
s = strerror_r(err, buf, sizeof(buf));
|
||||
#else /* POSIX variant always returns message in buffer */
|
||||
(void) strerror_r(err, buf, sizeof(buf));
|
||||
if (strerror_r(err, buf, sizeof(buf)))
|
||||
buf[0] = 0;
|
||||
#endif
|
||||
return strprintf("%s (%d)", s, err);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue