comparison src/http/modules/ngx_http_geo_module.c @ 2457:1aff348d9aa8

fix segfault when geo range replaces starting part of another range
author Igor Sysoev <igor@sysoev.ru>
date Mon, 19 Jan 2009 16:42:14 +0000
parents 95f078e7d743
children 2e91aecb9e57
comparison
equal deleted inserted replaced
2456:d4b69804cffa 2457:1aff348d9aa8
634 return NGX_CONF_ERROR; 634 return NGX_CONF_ERROR;
635 } 635 }
636 636
637 range = a->elts; 637 range = a->elts;
638 638
639 ngx_memcpy(&range[i + 2], &range[i + 1], 639 ngx_memcpy(&range[i + 1], &range[i],
640 (a->nelts - 2 - i) * sizeof(ngx_http_geo_range_t)); 640 (a->nelts - 1 - i) * sizeof(ngx_http_geo_range_t));
641 641
642 range[i + 1].start = (u_short) (e + 1); 642 range[i + 1].start = (u_short) (e + 1);
643 643
644 range[i].start = (u_short) s; 644 range[i].start = (u_short) s;
645 range[i].end = (u_short) e; 645 range[i].end = (u_short) e;