summaryrefslogtreecommitdiffstats
path: root/filters/f_decoder_wrapper.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2023-11-18 23:30:42 +0100
committerDudemanguy <random342@airmail.cc>2023-11-18 23:55:28 +0000
commit4449f38c17766a4645fda12dc0f56a79f0ae2bce (patch)
tree2362f8cfdbf5391a662734aaf9b6283dce73388d /filters/f_decoder_wrapper.c
parent9456b2f6e96fbf950324f5d7ad458f504644bb41 (diff)
downloadmpv-4449f38c17766a4645fda12dc0f56a79f0ae2bce.tar.bz2
mpv-4449f38c17766a4645fda12dc0f56a79f0ae2bce.tar.xz
various: add some missing error checks
Diffstat (limited to 'filters/f_decoder_wrapper.c')
-rw-r--r--filters/f_decoder_wrapper.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/filters/f_decoder_wrapper.c b/filters/f_decoder_wrapper.c
index 87489ccdf1..76b97078f5 100644
--- a/filters/f_decoder_wrapper.c
+++ b/filters/f_decoder_wrapper.c
@@ -430,10 +430,12 @@ static bool reinit_decoder(struct priv *p)
}
}
+ if (!driver)
+ return false;
+
if (!list) {
struct mp_decoder_list *full = talloc_zero(NULL, struct mp_decoder_list);
- if (driver)
- driver->add_decoders(full);
+ driver->add_decoders(full);
const char *codec = p->codec->codec;
if (codec && strcmp(codec, "null") == 0)
codec = fallback;
@@ -1232,6 +1234,8 @@ struct mp_decoder_wrapper *mp_decoder_wrapper_create(struct mp_filter *parent,
p->decf = mp_filter_create(p->dec_root_filter ? p->dec_root_filter : public_f,
&decf_filter);
+ if (!p->decf)
+ goto error;
p->decf->priv = p;
p->decf->log = public_f->log = p->log;
mp_filter_add_pin(p->decf, MP_PIN_OUT, "out");