diff options
author | davesliu <davesliu@163.com> | 2017-09-18 15:09:41 +0800 |
---|---|---|
committer | Garrett D'Amore <garrett@damore.org> | 2017-10-03 15:56:14 -0700 |
commit | a589f724bbf62aae6d83dfa5109f46cc9934342d (patch) | |
tree | 498b31ec416d2161bd42d71b380d93625b89c646 | |
parent | 5eb73201f7e7d5e2cd9fe0f7927077d1bc0f0c53 (diff) | |
download | nanomsg-a589f724bbf62aae6d83dfa5109f46cc9934342d.tar.gz |
memory leak issue of nn_cws_create
-rw-r--r-- | src/transports/ws/cws.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/transports/ws/cws.c b/src/transports/ws/cws.c index d71290f..4500503 100644 --- a/src/transports/ws/cws.c +++ b/src/transports/ws/cws.c @@ -176,6 +176,7 @@ int nn_cws_create (struct nn_ep *ep) if (colon != NULL) { rc = nn_port_resolve (colon + 1, resource - colon - 1); if (rc < 0) { + nn_free(self); return -EINVAL; } self->remote_port = rc; @@ -189,6 +190,7 @@ int nn_cws_create (struct nn_ep *ep) if (nn_dns_check_hostname (hostname, self->remote_hostname_len) < 0 && nn_literal_resolve (hostname, self->remote_hostname_len, ipv4only, &ss, &sslen) < 0) { + nn_free(self); return -EINVAL; } @@ -196,6 +198,7 @@ int nn_cws_create (struct nn_ep *ep) if (semicolon) { rc = nn_iface_resolve (addr, semicolon - addr, ipv4only, &ss, &sslen); if (rc < 0) { + nn_free(self); return -ENODEV; } } |