[FFmpeg-cvslog] udp: Fix crashes after adding AVOptions
Martin Storsjö
git at videolan.org
Thu Mar 19 11:24:35 CET 2015
ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Mar 19 09:28:25 2015 +0200| [8dc72eeaf647736c287b59a3856a11904bedd58b] | committer: Martin Storsjö
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ö <martin at martin.st>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8dc72eeaf647736c287b59a3856a11904bedd58b
---
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;
More information about the ffmpeg-cvslog
mailing list