rtmp2: Check for missing GstRtmpMeta
authorJan Alexander Steffens (heftig) <jsteffens@make.tv>
Tue, 12 Nov 2019 10:46:21 +0000 (11:46 +0100)
committerJan Alexander Steffens (heftig) <jsteffens@make.tv>
Tue, 12 Nov 2019 11:20:30 +0000 (12:20 +0100)
The message buffers are created using `gst_rtmp_message_new` and thus
always contain a GstRtmpMeta. Add checks to appease Coverity's static
analysis.

CID 1455596
CID 1455384

gst/rtmp2/rtmp/rtmpchunkstream.c
gst/rtmp2/rtmp/rtmpconnection.c

index 95cb267..1a25597 100644 (file)
@@ -195,6 +195,7 @@ select_chunk_type (GstRtmpChunkStream * cstream, GstBuffer * buffer)
   }
 
   old_meta = gst_buffer_get_rtmp_meta (old_buffer);
+  g_return_val_if_fail (old_meta, -1);
 
   if (old_meta->mstream != meta->mstream) {
     GST_TRACE ("Picking header 0: stream mismatch; "
index 937adcb..8c14516 100644 (file)
@@ -734,11 +734,14 @@ is_command_response (const gchar * command_name)
 static void
 gst_rtmp_connection_handle_cm (GstRtmpConnection * sc, GstBuffer * buffer)
 {
-  GstRtmpMeta *meta = gst_buffer_get_rtmp_meta (buffer);
+  GstRtmpMeta *meta;
   gchar *command_name;
   gdouble transaction_id;
   GPtrArray *args;
 
+  meta = gst_buffer_get_rtmp_meta (buffer);
+  g_return_if_fail (meta);
+
   {
     GstMapInfo map;
     gst_buffer_map (buffer, &map, GST_MAP_READ);