aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch
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
     {