api documentation for ec_parse
[protos/libecoli.git] / src / ecoli_malloc.c
index 5a022ae..bd8678d 100644 (file)
@@ -7,6 +7,7 @@
 #include <ecoli_malloc.h>
 
 #include <stdlib.h>
+#include <stdint.h>
 #include <string.h>
 #include <errno.h>
 
@@ -149,7 +150,7 @@ static int ec_malloc_testcase(void)
                return -1;
        memset(ptr, 0, 10);
        ptr2 = ec_realloc(ptr, 20);
-       EC_TEST_CHECK(ptr2 != NULL, "cannot realloc ptr\n");
+       testres |= EC_TEST_CHECK(ptr2 != NULL, "cannot realloc ptr\n");
        if (ptr2 == NULL)
                ec_free(ptr);
        else
@@ -164,8 +165,11 @@ static int ec_malloc_testcase(void)
        ec_free_func(ptr);
        ptr = NULL;
 
-       ptr = ec_calloc(2, (size_t)-1);
-       EC_TEST_CHECK(ptr == NULL, "bad overflow check in ec_calloc\n");
+       /* here we use atoll() instead of a constant because we want to
+        * prevent the compiler to check the overflow at compilation
+        * time */
+       ptr = ec_calloc(3, atoll("9223372036854775807")); /* (1 << 63) - 1 */
+       testres |= EC_TEST_CHECK(ptr == NULL, "bad overflow check in ec_calloc\n");
 
        return testres;
 }