blob: e8119b84bc006a6d565bad870fde42039514273c [file] [log] [blame]
Verify the validity of the pointer before delete it
Otherwise, we got a crash at logqueue-fifo.c:344
344 iv_list_del(&node->list);
Upstream-Status: Pending
Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
---
--- a/lib/logqueue-fifo.c
+++ b/lib/logqueue-fifo.c
@@ -339,15 +339,18 @@
*msg = node->msg;
path_options->ack_needed = node->ack_needed;
self->qoverflow_output_len--;
- if (!push_to_backlog)
+ if ((&node->list) && (&node->list)->next && (&node->list)->prev)
{
- iv_list_del(&node->list);
- log_msg_free_queue_node(node);
- }
- else
- {
- iv_list_del_init(&node->list);
- }
+ if (!push_to_backlog)
+ {
+ iv_list_del(&node->list);
+ log_msg_free_queue_node(node);
+ }
+ else
+ {
+ iv_list_del_init(&node->list);
+ }
+ }
}
else
{