getnameinfo doesn't set errno on failure, it returns an error code,
which should be handled by gai_strerror instead of the normal
strerror.
---
 libavformat/udp.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index 6571ab5..04433bc 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -218,9 +218,10 @@ static int udp_socket_create(UDPContext *s, struct 
sockaddr_storage *addr,
 static int udp_port(struct sockaddr_storage *addr, int addr_len)
 {
     char sbuf[sizeof(int)*3+1];
+    int error;
 
-    if (getnameinfo((struct sockaddr *)addr, addr_len, NULL, 0,  sbuf, 
sizeof(sbuf), NI_NUMERICSERV) != 0) {
-        av_log(NULL, AV_LOG_ERROR, "getnameinfo: %s\n", strerror(errno));
+    if ((error = getnameinfo((struct sockaddr *)addr, addr_len, NULL, 0,  
sbuf, sizeof(sbuf), NI_NUMERICSERV)) != 0) {
+        av_log(NULL, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(error));
         return -1;
     }
 
-- 
1.7.9.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to