Module: libav
Branch: master
Commit: 8dc72eeaf647736c287b59a3856a11904bedd58b

Author:    Martin Storsjö <[email protected]>
Committer: Martin Storsjö <[email protected]>
Date:      Thu Mar 19 09:28:25 2015 +0200

udp: Fix crashes after adding AVOptions

Add a missing AVClass member, check whether localaddr is null.
(Previously, localaddr was always a local stack buffer, while it
now also can be an avoption string which can be null.)

This fixes crashes when not passing any localaddr parameter, since
66028b7ba.

Signed-off-by: Martin Storsjö <[email protected]>

---

 libavformat/udp.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index e175a4b..321ed29 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -42,6 +42,7 @@
 #endif
 
 typedef struct UDPContext {
+    const AVClass *class;
     int udp_fd;
     int ttl;
     int buffer_size;
@@ -293,7 +294,7 @@ static int udp_socket_create(UDPContext *s, struct 
sockaddr_storage *addr,
 
     if (((struct sockaddr *) &s->dest_addr)->sa_family)
         family = ((struct sockaddr *) &s->dest_addr)->sa_family;
-    res0 = udp_resolve_host(localaddr[0] ? localaddr : NULL, s->local_port,
+    res0 = udp_resolve_host((localaddr && localaddr[0]) ? localaddr : NULL, 
s->local_port,
                             SOCK_DGRAM, family, AI_PASSIVE);
     if (res0 == 0)
         goto fail;

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

Reply via email to