From 06ce3261068c11879953ae1b37b34ebad0d330f0 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 12 Jun 2018 16:49:36 +0300 Subject: [PATCH] lib-smtp: server: Fix memory leak when handling BDAT command --- src/lib-smtp/smtp-command-parser.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib-smtp/smtp-command-parser.c b/src/lib-smtp/smtp-command-parser.c index 768cba35b5..c8b09c8d4e 100644 --- a/src/lib-smtp/smtp-command-parser.c +++ b/src/lib-smtp/smtp-command-parser.c @@ -482,8 +482,10 @@ smtp_command_parse_data_with_size(struct smtp_command_parser *parser, size, parser->limits.max_data_size); } else { // FIXME: make exact_size stream type - parser->data = i_stream_create_min_sized( - i_stream_create_limit(parser->input, size), size); + struct istream *limit_input = + i_stream_create_limit(parser->input, size); + parser->data = i_stream_create_min_sized(limit_input, size); + i_stream_unref(&limit_input); } i_stream_ref(parser->data); return parser->data; -- 2.47.3