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);