Fixed segfault with empty routes array.

This commit is contained in:
Igor Sysoev
2019-05-30 15:33:51 +03:00
parent f2aa190f60
commit 3aaebe4169

View File

@@ -616,14 +616,13 @@ nxt_http_route_find(nxt_http_routes_t *routes, nxt_str_t *name)
route = &routes->route[0]; route = &routes->route[0];
end = route + routes->items; end = route + routes->items;
do { while (route < end) {
if (nxt_strstr_eq(&(*route)->name, name)) { if (nxt_strstr_eq(&(*route)->name, name)) {
return *route; return *route;
} }
route++; route++;
}
} while (route < end);
return NULL; return NULL;
} }
@@ -681,12 +680,11 @@ nxt_http_routes_cleanup(nxt_task_t *task, nxt_http_routes_t *routes)
route = &routes->route[0]; route = &routes->route[0];
end = route + routes->items; end = route + routes->items;
do { while (route < end) {
nxt_http_route_cleanup(task, *route); nxt_http_route_cleanup(task, *route);
route++; route++;
}
} while (route < end);
} }
} }
@@ -699,12 +697,11 @@ nxt_http_route_cleanup(nxt_task_t *task, nxt_http_route_t *route)
match = &route->match[0]; match = &route->match[0];
end = match + route->items; end = match + route->items;
do { while (match < end) {
nxt_http_pass_cleanup(task, &(*match)->pass); nxt_http_pass_cleanup(task, &(*match)->pass);
match++; match++;
}
} while (match < end);
} }