File: 0013-DNS_memory_leak_segfault_fix.patch

package info (click to toggle)
syslog-ng 3.19.1-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 13,176 kB
  • sloc: ansic: 114,472; makefile: 4,697; sh: 4,391; python: 4,282; java: 4,047; xml: 2,435; yacc: 1,108; lex: 426; perl: 193; awk: 184
file content (34 lines) | stat: -rw-r--r-- 1,343 bytes parent folder | download
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
From 36e8af654182533cee52995a96023ff17b895bff Mon Sep 17 00:00:00 2001
From: Naveen Revanna <raveenr@gmail.com>
Date: Thu, 17 Jan 2019 01:47:53 -0800
Subject: [PATCH] afsocket: Fix to prevent accessing freed up memory.

dest_addr and bind_addr pointers hold an address that was freed up. This results in access violation. This fix adds NULL to those pointers.

Signed-off-by: Naveen Revanna <nrevanna@purestorage.com>
---
 modules/afsocket/afinet-dest.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/modules/afsocket/afinet-dest.c b/modules/afsocket/afinet-dest.c
index 231d5e6bb5..9eb5da269a 100644
--- a/modules/afsocket/afinet-dest.c
+++ b/modules/afsocket/afinet-dest.c
@@ -243,6 +243,8 @@ static gboolean
 _setup_bind_addr(AFInetDestDriver *self)
 {
   g_sockaddr_unref(self->super.bind_addr);
+  self->super.bind_addr = NULL;
+
   if (!resolve_hostname_to_sockaddr(&self->super.bind_addr, self->super.transport_mapper->address_family, self->bind_ip))
     return FALSE;
 
@@ -256,6 +258,8 @@ static gboolean
 _setup_dest_addr(AFInetDestDriver *self)
 {
   g_sockaddr_unref(self->super.dest_addr);
+  self->super.dest_addr = NULL;
+
   if (!resolve_hostname_to_sockaddr(&self->super.dest_addr, self->super.transport_mapper->address_family,
                                     _afinet_dd_get_hostname(self)))
     return FALSE;