Fix segfault when using invalid encoding profile
authorDavid Keijser <keijser@gmail.com>
Tue, 10 Nov 2020 22:26:39 +0000 (23:26 +0100)
committerDavid Keijser <keijser@gmail.com>
Tue, 10 Nov 2020 22:26:39 +0000 (23:26 +0100)
Trying to use gst_encoding_profile_get_file_extension on a
GstEncodingProfile with a cap containing a typo would result in strcmp
being called with NULL. Instead use g_strcmp0 that handles this case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/929>

gst-libs/gst/pbutils/encoding-profile.c

index d5b057a..ec6115f 100644 (file)
@@ -1383,7 +1383,7 @@ gst_encoding_profile_get_file_extension (GstEncodingProfile * profile)
   has_video = gst_encoding_container_profile_has_video (cprofile);
 
   /* Ogg */
-  if (strcmp (ext, "ogg") == 0) {
+  if (g_strcmp0 (ext, "ogg") == 0) {
     /* ogg with video => .ogv */
     if (has_video) {
       ext = "ogv";
@@ -1404,7 +1404,7 @@ gst_encoding_profile_get_file_extension (GstEncodingProfile * profile)
   }
 
   /* Matroska */
-  if (has_video && strcmp (ext, "mka") == 0) {
+  if (has_video && g_strcmp0 (ext, "mka") == 0) {
     ext = "mkv";
     goto done;
   }