From 4d6830a3730048ded7cb6d50db834e5cef91f14f Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 29 Nov 2016 13:00:08 -0500 Subject: [PATCH] serialqueue: Fix possible memory leak in serialqueue_extract_old() Make sure to free all messages even if the requested size is smaller than the number of messages. Signed-off-by: Kevin O'Connor --- klippy/serialqueue.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/klippy/serialqueue.c b/klippy/serialqueue.c index b3451ad6..444c5ea4 100644 --- a/klippy/serialqueue.c +++ b/klippy/serialqueue.c @@ -1034,10 +1034,10 @@ serialqueue_extract_old(struct serialqueue *sq, int sentq // Walk the debug list int pos = 0; - while (!list_empty(¤t) && pos < max) { + while (!list_empty(¤t)) { struct queue_message *qm = list_first_entry( ¤t, struct queue_message, node); - if (qm->len) { + if (qm->len && pos < max) { struct pull_queue_message *pqm = q++; pos++; memcpy(pqm->msg, qm->msg, qm->len);