diff mbox series

[FFmpeg-devel,4/4] avformat/avio: Avoid av_strdup(NULL)

Message ID AS8P250MB0744BA865F2600C2C154ECCF8F5D2@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM
State Accepted
Commit fed46d77062755a8488144071239aaf00fc5a8b9
Headers show
Series [FFmpeg-devel,1/4] avformat/aviobuf: Move code specific to URLContexts to avio.c | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Andreas Rheinhardt March 2, 2024, 7:51 p.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavformat/avio.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)
diff mbox series

Patch

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;