libidav/davqlexec.c

changeset 290
1e3e374d9386
parent 289
0f83fe5e2b07
child 331
9ca1e4706acc
child 339
ad45ba74fe1b
--- a/libidav/davqlexec.c	Thu Aug 31 12:58:06 2017 +0200
+++ b/libidav/davqlexec.c	Thu Aug 31 13:10:55 2017 +0200
@@ -949,7 +949,14 @@
 #define DAVQL_PUSH(obj) \
         if(stpos == stsize) { \
             stsize += 64; \
-            stack = realloc(stack, stsize * sizeof(DavQLStackObj)); \
+            DavQLStackObj *stack_newptr; \
+            stack_newptr = realloc(stack, stsize * sizeof(DavQLStackObj)); \
+            if(stack_newptr) { \
+                stack = stack_newptr; \
+            } else { \
+                free(stack); \
+                return -1; \
+            }\
         } \
         stack[stpos++] = obj;
 #define DAVQL_PUSH_INT(intval) \

mercurial