malloc: Test various special cases related to allocation failures
authorFlorian Weimer <fweimer@redhat.com>
Tue, 29 Dec 2015 19:32:35 +0000 (20:32 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 29 Dec 2015 19:32:35 +0000 (20:32 +0100)
commit1bd5483e104c8bde6e61dc5e3f8a848bc861872d
tree471878accbca82e41d5fc9d1ecafb2b28fc2b8cc
parentb69b5b3e3e5a5cd9e693db1dc8c94e621561aa95
malloc: Test various special cases related to allocation failures

This test case exercises unusual code paths in allocation functions,
related to allocation failures.  Specifically, the test can reveal
the following bugs:

(a) calloc returns non-zero memory on fallback to sysmalloc.
(b) calloc can self-deadlock because it fails to release
    the arena lock on certain allocation failures.
(c) pvalloc can dereference a NULL arena pointer.

(a) and (b) appear specific to a faulty downstream backport.
(c) was fixed as part of commit 10ad46bc6526edc5c7afcc57112da96917ff3629.

The test for (a) was inspired by a reproducer supplied by Jeff Layton.
ChangeLog
malloc/Makefile
malloc/tst-malloc-thread-fail.c [new file with mode: 0644]