[FFmpeg-cvslog] avdevice/dshow: check ff_dshow_pin_ConnectionMediaType() for failure

Michael Niedermayer git at videolan.org
Mon Jul 15 03:01:46 EEST 2024


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Mon May 27 01:52:27 2024 +0200| [2c2e72708831ca0cc76f72368676a8ccf624a2fe] | committer: Michael Niedermayer

avdevice/dshow: check ff_dshow_pin_ConnectionMediaType() for failure

Maybe Fixes: CID1598557 Explicit null dereferenced

Sponsored-by: Sovereign Tech Fund
Reviewed-by: Roger Pack <rogerdpack at gmail.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2c2e72708831ca0cc76f72368676a8ccf624a2fe
---

 libavdevice/dshow.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c
index 5caf282aea..4581f9405c 100644
--- a/libavdevice/dshow.c
+++ b/libavdevice/dshow.c
@@ -1546,7 +1546,10 @@ dshow_add_device(AVFormatContext *avctx,
 
     ctx->capture_filter[devtype]->stream_index = st->index;
 
-    ff_dshow_pin_ConnectionMediaType(ctx->capture_pin[devtype], &type);
+    if (ff_dshow_pin_ConnectionMediaType(ctx->capture_pin[devtype], &type) != S_OK) {
+        ret = AVERROR(EIO);
+        goto error;
+    }
     fmt_info = dshow_get_format_info(&type);
     if (!fmt_info) {
         ret = AVERROR(EIO);



More information about the ffmpeg-cvslog mailing list