diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-12-18 15:43:37 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-12-18 15:43:37 +0100 |
commit | da8f8270c3a1ef5474bc0fe0a77b5ff5894a40ee (patch) | |
tree | a36494c6327f0051c4130e7709eb58a0b8debf2a /ext/openjpeg | |
parent | d70e43a0694a6fd17ac3e5b27945383298f57397 (diff) | |
download | gstreamer-plugins-bad-da8f8270c3a1ef5474bc0fe0a77b5ff5894a40ee.tar.gz |
openjpegdec: Don't crash if colorspace is not provided on the caps
g_str_equal() is *not* NULL-safe
Diffstat (limited to 'ext/openjpeg')
-rw-r--r-- | ext/openjpeg/gstopenjpegdec.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c index 33fdf1df5..d027e960a 100644 --- a/ext/openjpeg/gstopenjpegdec.c +++ b/ext/openjpeg/gstopenjpegdec.c @@ -171,13 +171,14 @@ gst_openjpeg_dec_set_format (GstVideoDecoder * decoder, g_return_val_if_reached (FALSE); } - color_space = gst_structure_get_string (s, "colorspace"); - if (g_str_equal (color_space, "sRGB")) - self->color_space = CLRSPC_SRGB; - else if (g_str_equal (color_space, "GRAY")) - self->color_space = CLRSPC_GRAY; - else if (g_str_equal (color_space, "sYUV")) - self->color_space = CLRSPC_SYCC; + if ((color_space = gst_structure_get_string (s, "colorspace"))) { + if (g_str_equal (color_space, "sRGB")) + self->color_space = CLRSPC_SRGB; + else if (g_str_equal (color_space, "GRAY")) + self->color_space = CLRSPC_GRAY; + else if (g_str_equal (color_space, "sYUV")) + self->color_space = CLRSPC_SYCC; + } self->ncomps = 0; gst_structure_get_int (s, "num-components", &self->ncomps); |