From: Philipp Zabel
Date: Mon, 24 Feb 2020 15:38:56 +0000 (+0100)
Subject: glupload: fix transform_caps NULL pointer dereference
X-Git-Tag: 1.19.3~511^2~763
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dedd20f43018c86779c0e768b6da5fc443a13fac;p=platform%2Fupstream%2Fgstreamer.git
glupload: fix transform_caps NULL pointer dereference
gst_gl_upload_transform_caps() is missing a NULL pointer check in case
the current upload method's transform_caps returns a NULL pointer. In
the following loop over all upload methods, NULL pointer return values
are already handled correctly.
---
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index c05b528..7cb82d6 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -1797,16 +1797,19 @@ gst_gl_upload_transform_caps (GstGLUpload * upload, GstGLContext * context,
if (upload->priv->method) {
tmp = upload->priv->method->transform_caps (upload->priv->method_impl,
context, direction, caps);
- if (filter) {
- result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
- gst_caps_unref (tmp);
- } else {
- result = tmp;
+ if (tmp) {
+ if (filter) {
+ result =
+ gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (tmp);
+ } else {
+ result = tmp;
+ }
+ if (!gst_caps_is_empty (result))
+ return result;
+ else
+ gst_caps_unref (result);
}
- if (!gst_caps_is_empty (result))
- return result;
- else
- gst_caps_unref (result);
}
tmp = gst_caps_new_empty ();