summaryrefslogtreecommitdiff
path: root/package/flex/patches/patch-src_misc_c
blob: f5b425c14bd3fd75570282ec0ae41f221f845661 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- flex-2.6.4.orig/src/misc.c	2017-05-03 22:16:37.000000000 +0200
+++ flex-2.6.4/src/misc.c	2019-09-30 18:07:55.823580183 +0200
@@ -142,7 +142,14 @@ void add_action (const char *new_text)
 void   *allocate_array (int size, size_t element_size)
 {
 	void *mem;
-#if HAVE_REALLOCARRAY
+#if HAVE_REALLOCARR
+	mem = NULL;
+	if (reallocarr(&mem, (size_t) size, element_size))
+		flexfatal (_
+			   ("memory allocation failed in allocate_array()"));
+
+	return mem;
+#elif HAVE_REALLOCARRAY
 	/* reallocarray has built-in overflow detection */
 	mem = reallocarray(NULL, (size_t) size, element_size);
 #else
@@ -659,7 +666,12 @@ char   *readable_form (int c)
 void   *reallocate_array (void *array, int size, size_t element_size)
 {
 	void *new_array;
-#if HAVE_REALLOCARRAY
+#if HAVE_REALLOCARR
+	if (reallocarr(&array, (size_t) size, element_size))
+			flexfatal (_("attempt to increase array size failed"));
+
+	return array;
+#elif HAVE_REALLOCARRAY
 	/* reallocarray has built-in overflow detection */
 	new_array = reallocarray(array, (size_t) size, element_size);
 #else