chiark
/
gitweb
/
~ian
/
chiark-tcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use of int and overflow review
[chiark-tcl.git]
/
maskmap
/
addrmap.c
diff --git
a/maskmap/addrmap.c
b/maskmap/addrmap.c
index 437b41ae1c8c12050bb0fea07b75e2eae3d62dd7..c0f66288c194a8a5bb9909a4fa290b00d895ad7e 100644
(file)
--- 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 >= am->space);
if (!len) return;
+ assert(len < INT_MAX/sizeof(*newentries));
newentries= TREALLOC(am->entries, sizeof(*newentries)*len);
assert(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;
}
am->byl= bitlen/8;
+ assert(inlen < INT_MAX/2);
am_reallocentries(am, (inlen-1)*2+1);
ame= ame_sfa_alloc(am);
am_reallocentries(am, (inlen-1)*2+1);
ame= ame_sfa_alloc(am);