Check buffer size before checking buffer data

If the expected size is bigger than the actual buffer size, it would
memcmp random memory which could lead to crashes instead of proper error
reporting.
This commit is contained in:
Xavier Claessens 2019-09-23 11:19:07 -04:00 committed by Xavier Claessens
parent d109dd2752
commit e17bde51b3

View file

@ -801,6 +801,10 @@ gst_check_buffer_data (GstBuffer * buffer, gconstpointer data, gsize size)
fail_unless (gst_buffer_map (buffer, &info, GST_MAP_READ));
GST_MEMDUMP ("Converted data", info.data, info.size);
GST_MEMDUMP ("Expected data", data, size);
if (info.size != size) {
fail ("buffer sizes not equal: expected %" G_GSIZE_FORMAT " got %"
G_GSIZE_FORMAT, size, info.size);
}
if (memcmp (info.data, data, size) != 0) {
g_print ("\nConverted data:\n");
gst_util_dump_mem (info.data, info.size);