Browse Source

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@martin.st>
tags/n2.7
Martin Storsjö 10 years ago
parent
commit
8dc72eeaf6
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavformat/udp.c

+ 2
- 1
libavformat/udp.c View File

@@ -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;


Loading…
Cancel
Save