diff --git a/ChangeLog b/ChangeLog index 7c19da5d77..6f002f9baf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-12-12 Michael Smith + + * ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list), + (gst_id3_tag_do_typefind): + Use the correct function to free typefind factory list. + 2005-12-09 Tim-Philipp Müller * ext/mad/gstmad.c: (gst_mad_src_query): diff --git a/ext/mad/gstid3tag.c b/ext/mad/gstid3tag.c index e3a069f27f..9beb58e2a1 100644 --- a/ext/mad/gstid3tag.c +++ b/ext/mad/gstid3tag.c @@ -575,6 +575,9 @@ gst_mad_id3_to_tag_list (const struct id3_tag * tag) } if (strcmp (id, "COMM") == 0) { + if (frame->nfields < 4) + continue; + ucs4 = id3_field_getfullstring (&frame->fields[3]); g_assert (ucs4); @@ -595,6 +598,9 @@ gst_mad_id3_to_tag_list (const struct id3_tag * tag) continue; } + if (frame->nfields < 2) + continue; + field = &frame->fields[1]; nstrings = id3_field_getnstrings (field); @@ -1030,7 +1036,7 @@ gst_id3_tag_do_typefind (GstID3Tag * tag, GstBuffer * buffer) break; walk = g_list_next (walk); } - g_list_free (type_list); + gst_plugin_feature_list_free (type_list); if (find.best_probability > 0) { return find.caps; } else {