diff options
author | Zhidao HONG <z.hong@f5.com> | 2021-08-02 12:30:38 +0800 |
---|---|---|
committer | Zhidao HONG <z.hong@f5.com> | 2021-08-02 12:30:38 +0800 |
commit | d16cf0416784db82147ee5aaad1054840d028e7d (patch) | |
tree | 1f4e96cbd7aa4c3623629d4fce9f5aa3eb57d507 /src | |
parent | db03dfad6745a7d87d784ac51ed2d52e1c50a557 (diff) | |
download | unit-d16cf0416784db82147ee5aaad1054840d028e7d.tar.gz unit-d16cf0416784db82147ee5aaad1054840d028e7d.tar.bz2 |
Router: fixed segmentation fault.
In the case that routes or upstreams is empty and the pass option is a variable.
If the resolved pass is routes or upstreams, a segment error occurred.
Diffstat (limited to '')
-rw-r--r-- | src/nxt_http_route.c | 4 | ||||
-rw-r--r-- | src/nxt_upstream.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/nxt_http_route.c b/src/nxt_http_route.c index c38acdf3..065b3488 100644 --- a/src/nxt_http_route.c +++ b/src/nxt_http_route.c @@ -1567,6 +1567,10 @@ nxt_http_route_find(nxt_http_routes_t *routes, nxt_str_t *name, { nxt_http_route_t **route, **end; + if (routes == NULL) { + return NXT_DECLINED; + } + route = &routes->route[0]; end = route + routes->items; diff --git a/src/nxt_upstream.c b/src/nxt_upstream.c index 9f81b286..de9b1d49 100644 --- a/src/nxt_upstream.c +++ b/src/nxt_upstream.c @@ -78,6 +78,10 @@ nxt_upstream_find(nxt_upstreams_t *upstreams, nxt_str_t *name, uint32_t i, n; nxt_upstream_t *upstream; + if (upstreams == NULL) { + return NXT_DECLINED; + } + upstream = &upstreams->upstream[0]; n = upstreams->items; |