X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-tcl.git;a=blobdiff_plain;f=maskmap%2Faddrmap.c;h=c0f66288c194a8a5bb9909a4fa290b00d895ad7e;hp=437b41ae1c8c12050bb0fea07b75e2eae3d62dd7;hb=ceed4cf646a34245b3bc88089a2187ebf7a41f0f;hpb=73cb29760348de6e329efdab662b8a320c92b136 diff --git a/maskmap/addrmap.c b/maskmap/addrmap.c index 437b41a..c0f6628 100644 --- a/maskmap/addrmap.c +++ b/maskmap/addrmap.c @@ -93,6 +93,7 @@ static void am_reallocentries(AddrMap_Value *am, int len) { assert(len >= am->space); if (!len) return; + assert(len < INT_MAX/sizeof(*newentries)); newentries= TREALLOC(am->entries, sizeof(*newentries)*len); assert(newentries); @@ -236,6 +237,7 @@ static int addrmap_t_sfa(Tcl_Interp *ip, Tcl_Obj *o) { } am->byl= bitlen/8; + assert(inlen < INT_MAX/2); am_reallocentries(am, (inlen-1)*2+1); ame= ame_sfa_alloc(am);