talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 4850949dad9b8d7c7628da69ad45a87fcb066067
parent 93c6983e1c2f58c2ff0e580a1bf1942cf8f0f5d6
Author: wwp <wwp@free.fr>
Date:   Mon, 16 Jan 2017 11:54:24 +0100

Fix yet another average leak in matcher.c when parsing headers (valgrind).

Diffstat:
Msrc/matcher.c | 10++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/matcher.c b/src/matcher.c @@ -1367,11 +1367,16 @@ static gboolean matcherprop_match_one_header(MatcherProp *matcher, /* matching one address header exactly, is that the right one? */ header = procheader_parse_header(buf); if (!header || - !procheader_headername_equal(header->name, matcher->header)) + !procheader_headername_equal(header->name, matcher->header)) { + procheader_free_header(header); return FALSE; + } address_list = address_list_append(address_list, header->body); - if (address_list == NULL) + if (address_list == NULL) { + procheader_free_header(header); return FALSE; + } + procheader_free_header(header); } else { header = procheader_parse_header(buf); @@ -1385,6 +1390,7 @@ static gboolean matcherprop_match_one_header(MatcherProp *matcher, procheader_headername_equal(header->name, "Reply-To") || procheader_headername_equal(header->name, "Sender")) address_list = address_list_append(address_list, header->body); + procheader_free_header(header); if (address_list == NULL) return FALSE; }