diff --git a/libavformat/udp.c b/libavformat/udp.c index e8980b29d8..909213a467 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -740,6 +740,10 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (av_find_info_tag(buf, sizeof(buf), "localaddr", p)) { av_freep(&s->localaddr); s->localaddr = av_strdup(buf); + if (!s->localaddr) { + ret = AVERROR(ENOMEM); + goto fail; + } } if (av_find_info_tag(buf, sizeof(buf), "sources", p)) { if ((ret = ff_ip_parse_sources(h, buf, &s->filters)) < 0)