From 7965e8f4dfb87a3e86d3c8f6bf3bb66e7dd41dfb Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 13 Aug 2020 16:12:41 +1000 Subject: [PATCH] libei: plug a memleak if we get more than one message Signed-off-by: Peter Hutterer --- src/libei.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libei.c b/src/libei.c index 7853bf0..4883035 100644 --- a/src/libei.c +++ b/src/libei.c @@ -716,7 +716,6 @@ connection_dispatch(struct source *source, void *userdata) { struct ei *ei = userdata; enum ei_state old_state = ei->state; - _cleanup_(message_freep) struct message *msg = NULL; _cleanup_iobuf_ struct iobuf *buf = iobuf_new(64); int rc = iobuf_append_from_fd(buf, source_get_fd(source)); @@ -738,10 +737,11 @@ connection_dispatch(struct source *source, void *userdata) if (len == 0) break; - msg = connection_parse_message(data, len, &consumed); + _cleanup_(message_freep) struct message *msg = + connection_parse_message(data, len, &consumed); if (!msg) { rc = -EBADMSG; - goto error; + break; } log_debug(ei, "Message type %d\n", msg->type);