From fed46d77062755a8488144071239aaf00fc5a8b9 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sat, 2 Mar 2024 19:59:09 +0100 Subject: [PATCH] avformat/avio: Avoid av_strdup(NULL) Signed-off-by: Andreas Rheinhardt --- libavformat/avio.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index f3d10fac39..5186c2b464 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -436,15 +436,19 @@ int ffio_fdopen(AVIOContext **sp, URLContext *h) return AVERROR(ENOMEM); } s = *sp; - s->protocol_whitelist = av_strdup(h->protocol_whitelist); - if (!s->protocol_whitelist && h->protocol_whitelist) { - avio_closep(sp); - return AVERROR(ENOMEM); + if (h->protocol_whitelist) { + s->protocol_whitelist = av_strdup(h->protocol_whitelist); + if (!s->protocol_whitelist) { + avio_closep(sp); + return AVERROR(ENOMEM); + } } - s->protocol_blacklist = av_strdup(h->protocol_blacklist); - if (!s->protocol_blacklist && h->protocol_blacklist) { - avio_closep(sp); - return AVERROR(ENOMEM); + if (h->protocol_blacklist) { + s->protocol_blacklist = av_strdup(h->protocol_blacklist); + if (!s->protocol_blacklist) { + avio_closep(sp); + return AVERROR(ENOMEM); + } } s->direct = h->flags & AVIO_FLAG_DIRECT;