gst/mpegtsparse/mpegtsparse.c: Fix possible crash where pat is pointing to a freed...
authorZaheer Abbas Merali <zaheerabbas@merali.org>
Fri, 3 Oct 2008 09:11:16 +0000 (09:11 +0000)
committerZaheer Abbas Merali <zaheerabbas@merali.org>
Fri, 3 Oct 2008 09:11:16 +0000 (09:11 +0000)
Original commit message from CVS:
* gst/mpegtsparse/mpegtsparse.c:
Fix possible crash where pat is pointing to a freed structure.

ChangeLog
gst/mpegtsparse/mpegtsparse.c

index 18457b6d80778b035eb4f7ad9114c12fd070fec6..feab1f44291ed260b4d18c58c856691bd64385a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-03  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
+
+       * gst/mpegtsparse/mpegtsparse.c:
+       Fix possible crash where pat is pointing to a freed structure.
+
 2008-10-03  Stefan Kost  <ensonic@users.sf.net>
 
        * ext/metadata/metadata_mapping.htm:
index 3ac66c7a7193e6cbd7ad7a72e76f74761a975579..3aa49db59b18e8e6be4027a88a8fb2b565bc64bf 100644 (file)
@@ -248,8 +248,9 @@ mpegts_parse_reset (MpegTSParse * parse)
   /* PAT */
   g_hash_table_insert (parse->psi_pids,
       GINT_TO_POINTER (0), GINT_TO_POINTER (1));
-
+  parse->pat = NULL;
   /* pmt pids will be added and removed dynamically */
+
 }
 
 static void
@@ -290,8 +291,10 @@ mpegts_parse_finalize (GObject * object)
   MpegTSParse *parse = GST_MPEGTS_PARSE (object);
 
   g_free (parse->program_numbers);
-  if (parse->pat)
+  if (parse->pat) {
     gst_structure_free (parse->pat);
+    parse->pat = NULL;
+  }
   g_hash_table_destroy (parse->programs);
   g_hash_table_destroy (parse->psi_pids);