[glib] mem-overflow: test malloc and realloc corner cases
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] mem-overflow: test malloc and realloc corner cases
- Date: Sun, 2 Jun 2013 05:47:39 +0000 (UTC)
commit c0f96bb27636de407a29c8ee30bb44a03c74a0fb
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jun 1 00:35:39 2013 -0400
mem-overflow: test malloc and realloc corner cases
glib/tests/mem-overflow.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/glib/tests/mem-overflow.c b/glib/tests/mem-overflow.c
index 44ae333..d072e5d 100644
--- a/glib/tests/mem-overflow.c
+++ b/glib/tests/mem-overflow.c
@@ -65,6 +65,26 @@ MEM_OVERFLOW_TEST (renew_a, p = g_malloc (1); p = g_renew (X, p, a))
MEM_OVERFLOW_TEST (renew_b, p = g_malloc (1); p = g_renew (X, p, b))
static void
+mem_overflow_malloc_0 (void)
+{
+ gpointer p;
+
+ p = g_malloc (0);
+ g_assert (p == NULL);
+}
+
+static void
+mem_overflow_realloc_0 (void)
+{
+ gpointer p;
+
+ p = g_malloc (10);
+ g_assert (p != NULL);
+ p = g_realloc (p, 0);
+ g_assert (p == NULL);
+}
+
+static void
mem_overflow (void)
{
gpointer p, q;
@@ -144,6 +164,9 @@ mem_overflow (void)
CHECK_SUBPROCESS_FAIL (renew_a);
CHECK_SUBPROCESS_PASS (renew_b);
+
+ CHECK_SUBPROCESS_PASS (malloc_0);
+ CHECK_SUBPROCESS_PASS (realloc_0);
}
typedef struct
@@ -198,6 +221,8 @@ main (int argc,
g_test_add_func ("/mem/overflow/subprocess/new0_b", mem_overflow_new0_b);
g_test_add_func ("/mem/overflow/subprocess/renew_a", mem_overflow_renew_a);
g_test_add_func ("/mem/overflow/subprocess/renew_b", mem_overflow_renew_b);
+ g_test_add_func ("/mem/overflow/subprocess/malloc_0", mem_overflow_malloc_0);
+ g_test_add_func ("/mem/overflow/subprocess/realloc_0", mem_overflow_realloc_0);
g_test_add_func ("/mem/empty-alloc", empty_alloc);
g_test_add_func ("/mem/empty-alloc/subprocess", empty_alloc_subprocess);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]