summarylogtreecommitdiffstats
path: root/fixes-1.5.8.diff
blob: f70d5c47e684fde292b343bddd49ca1081ab6286 (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
diff --git a/src/libutil/addr.c b/src/libutil/addr.c
index 54988cf4..6253dc16 100644
--- a/src/libutil/addr.c
+++ b/src/libutil/addr.c
@@ -280,6 +280,11 @@ rspamd_accept_from_socket (gint sock, rspamd_inet_addr_t **target,
 						sizeof (struct in6_addr));
 			}
 		}
+		else {
+			addr = rspamd_inet_addr_create (AF_INET6);
+			memcpy (&addr->u.in.addr.s6.sin6_addr, &su.s6.sin6_addr,
+					sizeof (struct in6_addr));
+		}
 
 	}
 	else {
@@ -287,8 +292,6 @@ rspamd_accept_from_socket (gint sock, rspamd_inet_addr_t **target,
 		addr->slen = len;
 
 		if (addr->af == AF_UNIX) {
-			addr->u.un = g_slice_alloc0 (sizeof (*addr->u.un));
-			/* Get name from the listening socket */
 			len = sizeof (su);
 
 			if (getsockname (sock, &su.sa, &len) != -1) {