From 2f1cacb1aaf0369cb39e14147f022fa6c321cb15 Mon Sep 17 00:00:00 2001 From: Dragan Dosen Date: Mon, 18 Sep 2017 09:20:43 +0200 Subject: [PATCH] BUG/MINOR: contrib/modsecurity: close the va_list ap before return Make sure the va_list ap is closed before return in case the function vsnprintf() returned an error. --- contrib/modsecurity/modsec_wrapper.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contrib/modsecurity/modsec_wrapper.c b/contrib/modsecurity/modsec_wrapper.c index 8927b5bf4..271ec15d1 100644 --- a/contrib/modsecurity/modsec_wrapper.c +++ b/contrib/modsecurity/modsec_wrapper.c @@ -105,9 +105,10 @@ static char *printf_dup(struct request_rec *req, char *fmt, ...) va_start(ap, fmt); len = vsnprintf(NULL, 0, fmt, ap); + va_end(ap); + if (len == -1) return NULL; - va_end(ap); out = apr_pcalloc(req->pool, len + 1); if (!out) @@ -115,9 +116,10 @@ static char *printf_dup(struct request_rec *req, char *fmt, ...) va_start(ap, fmt); len = vsnprintf(out, len + 1, fmt, ap); + va_end(ap); + if (len == -1) return NULL; - va_end(ap); return out; }