summaryrefslogtreecommitdiffstats
path: root/gst/flv/gstflvparse.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/flv/gstflvparse.c')
-rw-r--r--gst/flv/gstflvparse.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gst/flv/gstflvparse.c b/gst/flv/gstflvparse.c
index a29e873b..3a0e97b7 100644
--- a/gst/flv/gstflvparse.c
+++ b/gst/flv/gstflvparse.c
@@ -178,6 +178,9 @@ gst_flv_parse_metadata_item (GstFLVDemux * demux, const guint8 * data,
value = FLV_GET_STRING (data + offset, data_size - offset);
+ if (value == NULL)
+ break;
+
offset += strlen (value) + 2;
GST_DEBUG_OBJECT (demux, "%s => (string) %s", tag_name, value);
@@ -329,12 +332,14 @@ gst_flv_parse_tag_script (GstFLVDemux * demux, const guint8 * data,
GST_LOG_OBJECT (demux, "parsing a script tag");
if (GST_READ_UINT8 (data + offset++) == 2) {
+ gchar *function_name;
guint i;
- gchar *function_name = FLV_GET_STRING (data + offset, data_size - offset);
- GST_LOG_OBJECT (demux, "function name is %s", function_name);
+ function_name = FLV_GET_STRING (data + offset, data_size - offset);
+
+ GST_LOG_OBJECT (demux, "function name is %s", GST_STR_NULL (function_name));
- if (!strcmp (function_name, "onMetaData")) {
+ if (function_name != NULL && strcmp (function_name, "onMetaData") == 0) {
guint32 nb_elems = 0;
gboolean end_marker = FALSE;