aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/pipe.c2
-rw-r--r--src/core/socket.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/core/pipe.c b/src/core/pipe.c
index 5d774e6d..f33f21a6 100644
--- a/src/core/pipe.c
+++ b/src/core/pipe.c
@@ -195,10 +195,10 @@ nni_pipe_create(nni_pipe **pp, nni_ep *ep, nni_sock *sock, nni_tran *tran)
if ((rv = nni_ep_pipe_add(ep, p)) != 0) {
nni_pipe_remove(p);
+ return (rv);
}
if ((rv = nni_sock_pipe_add(sock, p)) != 0) {
nni_pipe_remove(p);
- //nni_objhash_unref(nni_pipes, p->p_id);
return (rv);
}
diff --git a/src/core/socket.c b/src/core/socket.c
index 67b3f978..85b97363 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -141,6 +141,9 @@ nni_sock_pipe_remove(nni_sock *sock, nni_pipe *pipe)
{
void *pdata;
+ if (sock == NULL) {
+ return;
+ }
nni_mtx_lock(&sock->s_mx);
if (nni_list_active(&sock->s_pipes, pipe)) {
nni_list_remove(&sock->s_pipes, pipe);