X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=apps%2Fengine.c;fp=apps%2Fengine.c;h=3b395b1c7d24cde2d60ebbfd592382edd15d15a6;hp=b60bfbc29416a536c5456f697a4638ef46e7879a;hb=7c0ef8431845ea741012a5a6ff7063dca801fadd;hpb=3dfcb6a0ecbc210899e4b674331d0294189281b9 diff --git a/apps/engine.c b/apps/engine.c index b60bfbc294..3b395b1c7d 100644 --- a/apps/engine.c +++ b/apps/engine.c @@ -107,13 +107,17 @@ static int append_buf(char **buf, int *size, const char *s) } if (strlen(*buf) + strlen(s) >= (unsigned int)*size) { + char *tmp; *size += 256; - *buf = OPENSSL_realloc(*buf, *size); + tmp = OPENSSL_realloc(*buf, *size); + if (tmp == NULL) { + OPENSSL_free(*buf); + *buf = NULL; + return 0; + } + *buf = tmp; } - if (*buf == NULL) - return 0; - if (**buf != '\0') OPENSSL_strlcat(*buf, ", ", *size); OPENSSL_strlcat(*buf, s, *size);