diff --git a/src/http/modules/ngx_http_geoip_module.c b/src/http/modules/ngx_http_geoip_module.c index e248d01b0..51e20e751 100644 --- a/src/http/modules/ngx_http_geoip_module.c +++ b/src/http/modules/ngx_http_geoip_module.c @@ -274,6 +274,9 @@ ngx_http_geoip_region_name_variable(ngx_http_request_t *r, } val = GeoIP_region_name_by_code(gr->country_code, gr->region); + if (val == NULL) { + goto no_value; + } len = ngx_strlen(val); v->data = ngx_pnalloc(r->pool, len); @@ -294,6 +297,10 @@ ngx_http_geoip_region_name_variable(ngx_http_request_t *r, return NGX_OK; +no_value: + + GeoIPRecord_delete(gr); + not_found: v->not_found = 1;