Another version of the free checks.

This commit is contained in:
Jakub Jelinek 2004-11-19 00:20:40 +00:00
parent 3115c839ed
commit 5a312412f2

View File

@ -4233,7 +4233,7 @@ _int_free(mstate av, Void_t* mem)
#endif
) {
if (__builtin_expect (chunksize (chunk_at_offset (p, size)) < 2 * SIZE_SZ,
if (__builtin_expect (chunksize (chunk_at_offset (p, size)) <= 2 * SIZE_SZ,
0)
|| __builtin_expect (chunksize (chunk_at_offset (p, size))
>= av->system_mem, 0))
@ -4285,7 +4285,12 @@ _int_free(mstate av, Void_t* mem)
}
nextsize = chunksize(nextchunk);
assert(nextsize > 0);
if (__builtin_expect (nextsize <= 2 * SIZE_SZ, 0)
|| __builtin_expect (nextsize >= av->system_mem, 0))
{
errstr = "invalid next size (normal)";
goto errout;
}
/* consolidate backward */
if (!prev_inuse(p)) {