If __USE_GNU is set, spdk_strerror()
returns empty string instead of "Unknown error %d".
if unknown error code provided.
The reason is that on unknown errors, `strerror_r()` will
return provided buffer, (in our case, `buf` is returned)
then `snprintf()` will write to `buf` having `buf` as
input argument because `new_buffer` == `buf`, which results in
an empty string.
This patch fixes the above issue by first checking if `buf` == `new_buffer`.
Change-Id: I838ebf47d115b58cee3145991243bc9ebaeb651d
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460825
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>