]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: server: Fix memory leak when handling BDAT command
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 12 Jun 2018 13:49:36 +0000 (16:49 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 12 Jun 2018 15:13:24 +0000 (18:13 +0300)
src/lib-smtp/smtp-command-parser.c

index 768cba35b57f59da88147c714758205a5f54e116..c8b09c8d4e1c5f8d957fcc4a831a1476fdfd64c1 100644 (file)
@@ -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;