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

src/http/modules/ngx_http_geo_module.c:1474:9: <Length trace>
1472. 
1473.     while (vv->data) {
1474.         len = ngx_align(sizeof(ngx_http_variable_value_t) + vv->len,
              ^
1475.                         sizeof(void *));
1476.         ngx_crc32_update(&crc32, (u_char *) vv, len);

src/http/modules/ngx_http_geo_module.c:1474:9: Assignment
1472. 
1473.     while (vv->data) {
1474.         len = ngx_align(sizeof(ngx_http_variable_value_t) + vv->len,
              ^
1475.                         sizeof(void *));
1476.         ngx_crc32_update(&crc32, (u_char *) vv, len);

src/http/modules/ngx_http_geo_module.c:1478:9: Assignment
1476.         ngx_crc32_update(&crc32, (u_char *) vv, len);
1477.         vv->data += (size_t) base;
1478.         vv = (ngx_http_variable_value_t *) ((u_char *) vv + len);
              ^
1479.     }
1480.     ngx_crc32_update(&crc32, (u_char *) vv, sizeof(ngx_http_variable_value_t));

src/http/modules/ngx_http_geo_module.c:1481:5: Assignment
1479.     }
1480.     ngx_crc32_update(&crc32, (u_char *) vv, sizeof(ngx_http_variable_value_t));
1481.     vv++;
          ^
1482. 
1483.     ranges = (ngx_http_geo_range_t **) vv;

src/http/modules/ngx_http_geo_module.c:1483:5: Assignment
1481.     vv++;
1482. 
1483.     ranges = (ngx_http_geo_range_t **) vv;
          ^
1484. 
1485.     for (i = 0; i < 0x10000; i++) {

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