Geo: fixed warnings when removing nonexistent ranges.
geo $geo {
ranges;
10.0.0.0-10.0.0.255 test;
delete 10.0.1.0-10.0.1.255; # should warn
delete 10.0.0.0-10.0.0.255;
delete 10.0.0.0-10.0.0.255; # should warn
}
diff --git a/src/http/modules/ngx_http_geo_module.c b/src/http/modules/ngx_http_geo_module.c
index 2794548..21b4b33 100644
--- a/src/http/modules/ngx_http_geo_module.c
+++ b/src/http/modules/ngx_http_geo_module.c
@@ -990,7 +990,7 @@
a = (ngx_array_t *) ctx->high.low[h];
- if (a == NULL) {
+ if (a == NULL || a->nelts == 0) {
warn = 1;
goto next;
}
@@ -1009,13 +1009,9 @@
break;
}
- if (s != (ngx_uint_t) range[i].start
- && e != (ngx_uint_t) range[i].end)
- {
- continue;
+ if (i == a->nelts - 1) {
+ warn = 1;
}
-
- warn = 1;
}
next:
diff --git a/src/stream/ngx_stream_geo_module.c b/src/stream/ngx_stream_geo_module.c
index 5e91c46..2204546 100644
--- a/src/stream/ngx_stream_geo_module.c
+++ b/src/stream/ngx_stream_geo_module.c
@@ -940,7 +940,7 @@
a = (ngx_array_t *) ctx->high.low[h];
- if (a == NULL) {
+ if (a == NULL || a->nelts == 0) {
warn = 1;
goto next;
}
@@ -959,13 +959,9 @@
break;
}
- if (s != (ngx_uint_t) range[i].start
- && e != (ngx_uint_t) range[i].end)
- {
- continue;
+ if (i == a->nelts - 1) {
+ warn = 1;
}
-
- warn = 1;
}
next: