src/http/modules/ngx_http_geo_module.c:1265: error: Buffer Overrun L3
  Offset: 65553 (⇐ 17 + 65536) Size: [0, +oo].

src/http/modules/ngx_http_geo_module.c:1246:9: <Length trace>
1244. 
1245.     while(vv->data) {
1246.         len = ngx_align(sizeof(ngx_http_variable_value_t) + vv->len,
              ^
1247.                         sizeof(void *));
1248.         ngx_crc32_update(&crc32, (u_char *) vv, len);

src/http/modules/ngx_http_geo_module.c:1246:9: Assignment
1244. 
1245.     while(vv->data) {
1246.         len = ngx_align(sizeof(ngx_http_variable_value_t) + vv->len,
              ^
1247.                         sizeof(void *));
1248.         ngx_crc32_update(&crc32, (u_char *) vv, len);

src/http/modules/ngx_http_geo_module.c:1250:9: Assignment
1248.         ngx_crc32_update(&crc32, (u_char *) vv, len);
1249.         vv->data += (size_t) base;
1250.         vv = (ngx_http_variable_value_t *) ((u_char *) vv + len);
              ^
1251.     }
1252.     ngx_crc32_update(&crc32, (u_char *) vv, sizeof(ngx_http_variable_value_t));

src/http/modules/ngx_http_geo_module.c:1253:5: Assignment
1251.     }
1252.     ngx_crc32_update(&crc32, (u_char *) vv, sizeof(ngx_http_variable_value_t));
1253.     vv++;
          ^
1254. 
1255.     ranges = (ngx_http_geo_range_t **) vv;

src/http/modules/ngx_http_geo_module.c:1255:5: Assignment
1253.     vv++;
1254. 
1255.     ranges = (ngx_http_geo_range_t **) vv;
          ^
1256. 
1257.     for (i = 0; i < 0x10000; i++) {

src/http/modules/ngx_http_geo_module.c:1265:5: Array access: Offset: 65553 (⇐ 17 + 65536) Size: [0, +oo]
1263.     }
1264. 
1265.     range = (ngx_http_geo_range_t *) &ranges[0x10000];
          ^
1266. 
1267.     while ((u_char *) range < base + size) {
