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 <kevin@koconnor.net>
This commit is contained in:
parent
f547cab710
commit
4d6830a373
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue