aboutsummaryrefslogtreecommitdiff
path: root/src/core/sockimpl.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2023-04-23 17:10:33 -0700
committerGarrett D'Amore <garrett@damore.org>2023-04-23 17:10:33 -0700
commitd38e633c2514463bb1f2e1f020f79429ca844730 (patch)
tree45e71ce997cd8e90e0c352323bc6b7ac8cfe0dc5 /src/core/sockimpl.h
parent8bd3733fc234e9677068cfb4f2b50a35e4413eeb (diff)
downloadnng-d38e633c2514463bb1f2e1f020f79429ca844730.tar.gz
nng-d38e633c2514463bb1f2e1f020f79429ca844730.tar.bz2
nng-d38e633c2514463bb1f2e1f020f79429ca844730.zip
fixes #1657 Use after free in listener (data race)
Diffstat (limited to 'src/core/sockimpl.h')
-rw-r--r--src/core/sockimpl.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/sockimpl.h b/src/core/sockimpl.h
index 83cbb877..9734d94a 100644
--- a/src/core/sockimpl.h
+++ b/src/core/sockimpl.h
@@ -18,7 +18,7 @@
struct nni_dialer {
nni_sp_dialer_ops d_ops; // transport ops
nni_sp_tran *d_tran; // transport pointer
- void *d_data; // transport private
+ void *d_data; // transport private
uint32_t d_id; // endpoint id
nni_list_node d_node; // per socket list
nni_sock *d_sock;
@@ -123,8 +123,9 @@ struct nni_pipe {
#endif
};
-extern int nni_sock_add_dialer(nni_sock *, nni_dialer *);
-extern int nni_sock_add_listener(nni_sock *, nni_listener *);
+extern int nni_sock_add_dialer(nni_sock *, nni_dialer *);
+extern int nni_sock_add_listener(nni_sock *, nni_listener *);
+extern void nni_sock_remove_listener(nni_listener *);
extern void nni_dialer_add_pipe(nni_dialer *, void *);
extern void nni_dialer_shutdown(nni_dialer *);