diff options
author | Valentin Bartenev <vbart@nginx.com> | 2018-04-17 21:13:43 +0300 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2018-04-17 21:13:43 +0300 |
commit | ab4f86799635077f3144456de59d3b7487a2bce0 (patch) | |
tree | 37354788173b4a8eed4c5d58b1da090c79753b5b | |
parent | 7f79f2f10505403750739691346de1626a330f60 (diff) | |
download | unit-ab4f86799635077f3144456de59d3b7487a2bce0.tar.gz unit-ab4f86799635077f3144456de59d3b7487a2bce0.tar.bz2 |
Added missing checks if nxt_port_rpc_register_handler() failed.
This closes #97 issue on GitHub.
Thanks to 洪志道 (Hong Zhi Dao).
-rw-r--r-- | src/nxt_application.c | 4 | ||||
-rw-r--r-- | src/nxt_controller.c | 4 | ||||
-rw-r--r-- | src/nxt_router.c | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/nxt_application.c b/src/nxt_application.c index 061bc220..2a03b8f5 100644 --- a/src/nxt_application.c +++ b/src/nxt_application.c @@ -73,6 +73,10 @@ nxt_discovery_start(nxt_task_t *task, void *data) nxt_discovery_quit, main_port->pid, NULL); + if (nxt_slow_path(stream == 0)) { + return NXT_ERROR; + } + ret = nxt_port_socket_write(task, main_port, NXT_PORT_MSG_MODULES, -1, stream, discovery_port->id, b); diff --git a/src/nxt_controller.c b/src/nxt_controller.c index 0fca81b6..0b863f0c 100644 --- a/src/nxt_controller.c +++ b/src/nxt_controller.c @@ -335,6 +335,10 @@ nxt_controller_conf_send(nxt_task_t *task, nxt_conf_value_t *conf, handler, handler, router_port->pid, data); + if (nxt_slow_path(stream == 0)) { + return NXT_ERROR; + } + rc = nxt_port_socket_write(task, router_port, NXT_PORT_MSG_DATA_LAST, -1, stream, controller_port->id, b); diff --git a/src/nxt_router.c b/src/nxt_router.c index 692d3a48..b70fbc7d 100644 --- a/src/nxt_router.c +++ b/src/nxt_router.c @@ -1741,7 +1741,7 @@ nxt_router_listen_socket_rpc_create(nxt_task_t *task, nxt_router_listen_socket_ready, nxt_router_listen_socket_error, main_port->pid, rpc); - if (stream == 0) { + if (nxt_slow_path(stream == 0)) { goto fail; } |