When building xfsprogs with musl libc, strerror_r returns int as
specified in POSIX. This differs from the glibc extension that returns
char*. Successful calls will return 0, which will be dereferenced as a
NULL pointer by (v)fprintf.
Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
fprintf(stream, "%s%s: %s: ", stream_start(stream),
_(err_levels[level].string), descr);
if (error) {
- fprintf(stream, _("%s."), strerror_r(error, buf, DESCR_BUFSZ));
+ strerror_r(error, buf, DESCR_BUFSZ);
+ fprintf(stream, _("%s."), buf);
} else {
va_start(args, format);
vfprintf(stream, format, args);