RT3670: Check return from BUF_MEM_grow_clean
authorGraeme Perrow <graeme.perrow@sap.com>
Thu, 12 Feb 2015 18:00:42 +0000 (13:00 -0500)
committerRich Salz <rsalz@openssl.org>
Thu, 12 Feb 2015 18:00:42 +0000 (13:00 -0500)
Reviewed-by: Richard Levitte <levitte@openssl.org>
crypto/conf/conf_def.c

index 59053e85bde5857721aa5661ebe864827a532549..c8744e67088e6047b325e300bdc9cd08a1992478 100644 (file)
@@ -570,7 +570,11 @@ static int str_copy(CONF *conf, char *section, char **pto, char *from)
                 CONFerr(CONF_F_STR_COPY, CONF_R_VARIABLE_HAS_NO_VALUE);
                 goto err;
             }
                 CONFerr(CONF_F_STR_COPY, CONF_R_VARIABLE_HAS_NO_VALUE);
                 goto err;
             }
-            BUF_MEM_grow_clean(buf, (strlen(p) + buf->length - (e - from)));
+            if (!BUF_MEM_grow_clean(buf,
+                        (strlen(p) + buf->length - (e - from)))) {
+                CONFerr(CONF_F_STR_COPY, ERR_R_MALLOC_FAILURE);
+                goto err;
+            }
             while (*p)
                 buf->data[to++] = *(p++);
 
             while (*p)
                 buf->data[to++] = *(p++);