Merge pull request #4479
109849e
Bugfix: strerror_r can return an error, and if it does, POSIX does not specify the content of the buffer (Luke Dashjr)
This commit is contained in:
commit
418d4ad110
1 changed files with 2 additions and 1 deletions
|
@ -1252,7 +1252,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…
Add table
Reference in a new issue