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;
|