diff --git a/libavformat/udp.c b/libavformat/udp.c
index 77ab8c27cf359a6c30f6c1cf340d3dbc03279ea6..0eaed1bfc80f2e37dc8f3b6340a9d6950dc708fc 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -200,7 +200,7 @@ static int udp_socket_create(UDPContext *s, struct sockaddr_storage *addr,
         goto fail;
     for (res = res0; res; res=res->ai_next) {
         udp_fd = socket(res->ai_family, SOCK_DGRAM, 0);
-        if (udp_fd > 0) break;
+        if (udp_fd != -1) break;
         log_net_error(NULL, AV_LOG_ERROR, "socket");
     }