data-output-stream: Fix some access after free

The memory pointed to by a GMemoryOutputStream can be realloc'd

https://bugzilla.gnome.org/show_bug.cgi?id=711802
This commit is contained in:
Stef Walter 2013-11-10 16:39:45 +01:00
parent 72171240cc
commit 438f7110f9

View File

@ -450,6 +450,7 @@ test_truncate (void)
g_assert (res);
g_assert_cmpint (g_memory_output_stream_get_size (base_stream), ==, len);
g_assert_cmpint (g_memory_output_stream_get_data_size (base_stream), ==, 4);
stream_data = g_memory_output_stream_get_data (base_stream);
g_assert_cmpint (stream_data[0], ==, 0x01);
g_assert_cmpint (stream_data[1], ==, 0x23);
g_assert_cmpint (stream_data[2], ==, 0x45);
@ -461,6 +462,7 @@ test_truncate (void)
g_assert (res);
g_assert_cmpint (g_memory_output_stream_get_size (base_stream), ==, 4);
g_assert_cmpint (g_memory_output_stream_get_data_size (base_stream), ==, 4);
stream_data = g_memory_output_stream_get_data (base_stream);
g_assert_cmpint (stream_data[0], ==, 0x01);
g_assert_cmpint (stream_data[1], ==, 0x23);
g_assert_cmpint (stream_data[2], ==, 0x45);
@ -472,6 +474,7 @@ test_truncate (void)
g_assert (res);
g_assert_cmpint (g_memory_output_stream_get_size (base_stream), ==, 6);
g_assert_cmpint (g_memory_output_stream_get_data_size (base_stream), ==, 4);
stream_data = g_memory_output_stream_get_data (base_stream);
g_assert_cmpint (stream_data[0], ==, 0x01);
g_assert_cmpint (stream_data[1], ==, 0x23);
g_assert_cmpint (stream_data[2], ==, 0x45);
@ -483,6 +486,7 @@ test_truncate (void)
g_assert (res);
g_assert_cmpint (g_memory_output_stream_get_size (base_stream), ==, 2);
g_assert_cmpint (g_memory_output_stream_get_data_size (base_stream), ==, 2);
stream_data = g_memory_output_stream_get_data (base_stream);
g_assert_cmpint (stream_data[0], ==, 0x01);
g_assert_cmpint (stream_data[1], ==, 0x23);