[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/async-dns 44e235d 2/2: Fix memory leak
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] feature/async-dns 44e235d 2/2: Fix memory leak |
Date: |
Thu, 28 Jan 2016 23:36:21 +0000 |
branch: feature/async-dns
commit 44e235dd88d3f506b31db24373c0f5d5fd27c79d
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
Fix memory leak
* process.c (connect_network_socket): Free previous sockaddr
before allocating a new one.
---
src/process.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/process.c b/src/process.c
index 2f7668a..b5d306f 100644
--- a/src/process.c
+++ b/src/process.c
@@ -3005,7 +3005,7 @@ void connect_network_socket (Lisp_Object proc,
Lisp_Object ip_addresses)
int xerrno = 0;
Lisp_Object ip_address;
int family;
- struct sockaddr *sa;
+ struct sockaddr *sa = NULL;
int ret;
int addrlen;
struct Lisp_Process *p = XPROCESS (proc);
@@ -3026,6 +3026,8 @@ void connect_network_socket (Lisp_Object proc,
Lisp_Object ip_addresses)
#endif
addrlen = get_lisp_to_sockaddr_size (ip_address, &family);
+ if (sa)
+ free (sa);
sa = alloca (addrlen);
conv_lisp_to_sockaddr (family, ip_address, sa, addrlen);