Fixed segfault with empty routes array.
This commit is contained in:
@@ -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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user