diff options
Diffstat (limited to 'malloc/dynarray_resize.c')
-rw-r--r-- | malloc/dynarray_resize.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/malloc/dynarray_resize.c b/malloc/dynarray_resize.c index e6dc9fbc68..63c981bf61 100644 --- a/malloc/dynarray_resize.c +++ b/malloc/dynarray_resize.c @@ -17,6 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <dynarray.h> +#include <errno.h> #include <malloc-internal.h> #include <stdlib.h> #include <string.h> @@ -38,7 +39,11 @@ __libc_dynarray_resize (struct dynarray_header *list, size_t size, size_t new_size_bytes; if (check_mul_overflow_size_t (size, element_size, &new_size_bytes)) - return false; + { + /* Overflow. */ + __set_errno (ENOMEM); + return false; + } void *new_array; if (list->array == scratch) { |