From ff992be7b05483f9a0586a27ee0edb6d99580b84 Mon Sep 17 00:00:00 2001 From: Alan Hourihane Date: Thu, 1 Dec 2011 12:04:22 +0000 Subject: Fix some resource & memory leaks in libxtrans. Signed-off-by: Alan Hourihane Reviewed-by: Alan Coopersmith Signed-off-by: Alan Coopersmith --- Xtranssock.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Xtranssock.c') diff --git a/Xtranssock.c b/Xtranssock.c index 955516d..901d721 100644 --- a/Xtranssock.c +++ b/Xtranssock.c @@ -492,6 +492,7 @@ TRANS(SocketReopen) (int i _X_UNUSED, int type, int fd, char *port) if ((addr = (struct sockaddr *) xcalloc (1, portlen + 2)) == NULL) { prmsg (1, "SocketReopen: malloc(addr) failed\n"); + xfree (ciptr); return NULL; } ciptr->addr = (char *) addr; @@ -499,6 +500,8 @@ TRANS(SocketReopen) (int i _X_UNUSED, int type, int fd, char *port) if ((ciptr->peeraddr = (char *) xcalloc (1, portlen + 2)) == NULL) { prmsg (1, "SocketReopen: malloc(portaddr) failed\n"); + xfree (addr); + xfree (ciptr); return NULL; } ciptr->peeraddrlen = portlen + 2; -- cgit v1.2.1