summaryrefslogtreecommitdiff
path: root/Xtranssock.c
diff options
context:
space:
mode:
Diffstat (limited to 'Xtranssock.c')
-rw-r--r--Xtranssock.c3
1 files changed, 3 insertions, 0 deletions
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;