From 58c615f33b0715d7fc89d95a7d6a5cfd692b3728 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sun, 26 Jan 2014 20:04:05 +0100 Subject: [PATCH] core: fix memory leak in regex matching when evaluating expression --- ChangeLog | 1 + src/core/wee-eval.c | 1 + 2 files changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index 1e89842e5..deaf7dfa8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] == Version 0.4.3 (under dev) +* core: fix memory leak in regex matching when evaluating expression * core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized) * core: add command /print, add support of more escaped chars in command "/input insert" diff --git a/src/core/wee-eval.c b/src/core/wee-eval.c index 739db81e5..700550cea 100644 --- a/src/core/wee-eval.c +++ b/src/core/wee-eval.c @@ -436,6 +436,7 @@ eval_compare (const char *expr1, int comparison, const char *expr2) goto end; } rc = (regexec (®ex, expr1, 0, NULL, 0) == 0) ? 1 : 0; + regfree (®ex); if (comparison == EVAL_COMPARE_REGEX_NOT_MATCHING) rc ^= 1; goto end;