that wasn't it
This commit is contained in:
parent
620f269149
commit
35e0e1a7c0
@ -56,7 +56,7 @@ void* array_allocate(array* x,uint64 membersize,int64 pos) {
|
|||||||
/* second case of overflow: pos*membersize too large */
|
/* second case of overflow: pos*membersize too large */
|
||||||
if (__unlikely(!umult64(membersize,pos+1,&wanted))) return 0;
|
if (__unlikely(!umult64(membersize,pos+1,&wanted))) return 0;
|
||||||
|
|
||||||
if (__unlikely(wanted > x->allocated)) {
|
if (__unlikely(wanted >= x->allocated)) {
|
||||||
/* round up a little */
|
/* round up a little */
|
||||||
if (membersize<8)
|
if (membersize<8)
|
||||||
wanted=(wanted+127)&(-128ll); /* round up to multiple of 128 */
|
wanted=(wanted+127)&(-128ll); /* round up to multiple of 128 */
|
||||||
|
@ -25,6 +25,6 @@ void* array_get(array* x,uint64 membersize,int64 pos) {
|
|||||||
if (__unlikely(pos+1<1)) return 0;
|
if (__unlikely(pos+1<1)) return 0;
|
||||||
if (__unlikely(!umult64(membersize,pos,&wanted))) return 0;
|
if (__unlikely(!umult64(membersize,pos,&wanted))) return 0;
|
||||||
|
|
||||||
if (__unlikely(wanted > x->allocated)) return 0;
|
if (__unlikely(wanted >= x->allocated)) return 0;
|
||||||
return x->p+pos*membersize;
|
return x->p+pos*membersize;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user