From 9a2db7d4303d7bcdb3961209ff6328cb18ccda5d Mon Sep 17 00:00:00 2001 From: "Alfred E. Heggestad" Date: Thu, 5 Sep 2013 04:11:07 +0000 Subject: [PATCH] This patch makes sure va_end() is called an a va_list before va_start() is called again. --- src/fmt/regex.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/fmt/regex.c b/src/fmt/regex.c index 29d9dc7..1983fad 100644 --- a/src/fmt/regex.c +++ b/src/fmt/regex.c @@ -109,8 +109,10 @@ int re_regex(const char *ptr, size_t len, const char *expr, ...) if (!l) break; - if (tolower(*ep) != tolower(*p)) + if (tolower(*ep) != tolower(*p)) { + va_end(ap); goto again; + } eesc = false; ++p; @@ -184,8 +186,10 @@ int re_regex(const char *ptr, size_t len, const char *expr, ...) nm -= 2; } - if ((nm < nmin) || (nm > nmax)) + if ((nm < nmin) || (nm > nmax)) { + va_end(ap); goto again; + } if (pl) *pl = lpl;