Mercurial > libavformat.hg
diff udp.c @ 683:095009fc2f35 libavformat
kill warnings patch by (Mns Rullgrd <mru inprovide com>)
author | michael |
---|---|
date | Thu, 24 Feb 2005 19:08:50 +0000 |
parents | 1bbcf7b444ae |
children | 5f9e330500d9 |
line wrap: on
line diff
--- a/udp.c Thu Feb 24 15:18:02 2005 +0000 +++ b/udp.c Thu Feb 24 19:08:50 2005 +0000 @@ -160,14 +160,14 @@ socklen_t addrlen; char sbuf[NI_MAXSERV]; char hbuf[NI_MAXHOST]; - struct addrinfo *res0; + struct addrinfo *res0 = NULL; int family; if (s->local_port != 0) { res0 = udp_ipv6_resolve_host(0, s->local_port, SOCK_DGRAM, AF_UNSPEC, AI_PASSIVE); - if (res0 == 0) return -1; + if (res0 == 0) + goto fail; family = res0->ai_family; - freeaddrinfo(res0); } else { family = s->dest_addr.ss_family; } @@ -183,6 +183,8 @@ perror("bind"); goto fail; } + freeaddrinfo(res0); + res0 = NULL; } addrlen = sizeof(clientaddr); @@ -207,6 +209,8 @@ #else close(udp_fd); #endif + if(res0) + freeaddrinfo(res0); return -1; } @@ -274,13 +278,16 @@ /* return non zero if error */ static int udp_open(URLContext *h, const char *uri, int flags) { - struct sockaddr_in my_addr, my_addr1; char hostname[1024]; int port, udp_fd = -1, tmp; UDPContext *s = NULL; - int is_output, len; + int is_output; const char *p; char buf[256]; +#ifndef CONFIG_IPV6 + struct sockaddr_in my_addr, my_addr1; + int len; +#endif h->is_streamed = 1; h->max_packet_size = 1472;