X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=ipaddr.c;h=4b5b48aa43d0cf3b6f889ebd049cced818638557;hp=8bb2efcedad3557c4a8525448496a74f2142e8d4;hb=6c5889e68832bfd96fdd1de7e6df4309e7017372;hpb=b4ececfc649ba051ccffe1029637f7262a59d8a0 diff --git a/ipaddr.c b/ipaddr.c index 8bb2efc..4b5b48a 100644 --- a/ipaddr.c +++ b/ipaddr.c @@ -30,15 +30,13 @@ void subnet_list_free(struct subnet_list *a) static void subnet_list_set_len(struct subnet_list *a, int32_t l) { - struct subnet *nd; int32_t na; if (l>a->alloc) { - assert(a->alloc < (int)(INT_MAX/sizeof(*nd))-EXTEND_ALLOC_BY); + assert(a->alloc < INT_MAX-EXTEND_ALLOC_BY); na=a->alloc+EXTEND_ALLOC_BY; - nd=safe_realloc_ary(a->list,sizeof(*nd),na,"subnet_list_set_len"); + REALLOC_ARY(a->list,na); a->alloc=na; - a->list=nd; } a->entries=l; } @@ -60,7 +58,7 @@ struct ipset *ipset_new(void) NEW(r); r->l=0; r->a=DEFAULT_ALLOC; - r->d=safe_malloc(sizeof(*r->d)*r->a,"ipset_new:data"); + NEW_ARY(r->d,r->a); return r; } @@ -112,15 +110,13 @@ struct ipset *ipset_from_subnet_list(struct subnet_list *l) static void ipset_set_len(struct ipset *a, int32_t l) { - struct iprange *nd; int32_t na; if (l>a->a) { assert(a->a < INT_MAX-EXTEND_ALLOC_BY); na=a->a+EXTEND_ALLOC_BY; - nd=safe_realloc_ary(a->d,sizeof(*nd),na,"ipset_set_len"); + REALLOC_ARY(a->d,na); a->a=na; - a->d=nd; } a->l=l; }