From 95cf6ee35ab00cf2e2daf9a869ffda4216b95f8f Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Sun, 10 May 2009 04:19:33 +0000 Subject: Bail out on failed malloc in dmnsn_new_array. --- libdimension/array.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'libdimension/array.c') diff --git a/libdimension/array.c b/libdimension/array.c index b095654..97ce716 100644 --- a/libdimension/array.c +++ b/libdimension/array.c @@ -32,8 +32,7 @@ dmnsn_new_array(size_t obj_size) array->ptr = malloc(array->capacity*array->obj_size); if (!array->ptr) { - free(array); - return NULL; + dmnsn_error(DMNSN_SEVERITY_HIGH, "Array allocation failed."); } } @@ -60,7 +59,6 @@ dmnsn_array_get(const dmnsn_array *array, size_t i, void *obj) if (i >= array->length) { dmnsn_error(DMNSN_SEVERITY_HIGH, "Array index out of bounds."); } - memcpy(obj, array->ptr + array->obj_size*i, array->obj_size); } -- cgit v1.2.3