mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Missing ENOMEM in realloc_check wrapper (bug 27870)
When MALLOC_CHECK_ is non-zero, the realloc hook missed to set errno to ENOMEM when called with too big size. Run the test tst-malloc-too-large also with MALLOC_CHECK_=3 to catch that.
This commit is contained in:
parent
f4605e611a
commit
c6b6b4f2c7
@ -72,7 +72,7 @@ test-srcs = tst-mtrace
|
||||
# with MALLOC_CHECK_=3 because they expect a specific failure.
|
||||
tests-exclude-mcheck = tst-mcheck tst-malloc-usable \
|
||||
tst-interpose-nothread tst-interpose-static-nothread \
|
||||
tst-interpose-static-thread tst-malloc-too-large \
|
||||
tst-interpose-static-thread \
|
||||
tst-mxfast tst-safe-linking
|
||||
|
||||
# Run all tests with MALLOC_CHECK_=3
|
||||
|
@ -321,7 +321,10 @@ realloc_check (void *oldmem, size_t bytes, const void *caller)
|
||||
const INTERNAL_SIZE_T oldsize = chunksize (oldp);
|
||||
|
||||
if (!checked_request2size (rb, &chnb))
|
||||
goto invert;
|
||||
{
|
||||
__set_errno (ENOMEM);
|
||||
goto invert;
|
||||
}
|
||||
|
||||
__libc_lock_lock (main_arena.mutex);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user