avformat/avio: Avoid av_strdup(NULL)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-03-02 19:59:09 +01:00
parent c856e4c546
commit fed46d7706
1 changed files with 12 additions and 8 deletions

View File

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