blob: e8119b84bc006a6d565bad870fde42039514273c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001Verify the validity of the pointer before delete it
2
3Otherwise, we got a crash at logqueue-fifo.c:344
4 344 iv_list_del(&node->list);
5
6Upstream-Status: Pending
7
8Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
9---
10--- a/lib/logqueue-fifo.c
11+++ b/lib/logqueue-fifo.c
12@@ -339,15 +339,18 @@
13 *msg = node->msg;
14 path_options->ack_needed = node->ack_needed;
15 self->qoverflow_output_len--;
16- if (!push_to_backlog)
17+ if ((&node->list) && (&node->list)->next && (&node->list)->prev)
18 {
19- iv_list_del(&node->list);
20- log_msg_free_queue_node(node);
21- }
22- else
23- {
24- iv_list_del_init(&node->list);
25- }
26+ if (!push_to_backlog)
27+ {
28+ iv_list_del(&node->list);
29+ log_msg_free_queue_node(node);
30+ }
31+ else
32+ {
33+ iv_list_del_init(&node->list);
34+ }
35+ }
36 }
37 else
38 {