From 5683de00e99e4be87419a97d521887f94acc937a Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Fri, 1 Jun 2012 23:30:16 +0200 Subject: [PATCH] lavu/error: fix sign error in av_sterror() error code The value returned by strerror_r may be positive depending on the system, so it is necessary to use AVERROR() in order to get a negative number. This way the successive negative check will not fail, and the function will print a meaningful error message on the buffer. --- libavutil/error.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/error.c b/libavutil/error.c index 78bceb4b07..0a3b4bfafd 100644 --- a/libavutil/error.c +++ b/libavutil/error.c @@ -61,7 +61,7 @@ int av_strerror(int errnum, char *errbuf, size_t errbuf_size) av_strlcpy(errbuf, entry->str, errbuf_size); } else { #if HAVE_STRERROR_R - ret = strerror_r(AVUNERROR(errnum), errbuf, errbuf_size); + ret = AVERROR(strerror_r(AVUNERROR(errnum), errbuf, errbuf_size)); #else ret = -1; #endif