blob: e8119b84bc006a6d565bad870fde42039514273c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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
{
|