diff options
author | Aaron Merey <amerey@redhat.com> | 2024-09-19 09:53:23 -0400 |
---|---|---|
committer | Aaron Merey <amerey@redhat.com> | 2024-09-20 10:32:35 -0400 |
commit | 35dc62de3d5d73a91d4ca8fa9799b510a34d170d (patch) | |
tree | 6a6704266c489d3130929130e570a9aa392624cb /libio/Makefile | |
parent | fa1b0d5e9f6e0353e16339430770a7a8824c0468 (diff) | |
download | glibc-35dc62de3d5d73a91d4ca8fa9799b510a34d170d.zip glibc-35dc62de3d5d73a91d4ca8fa9799b510a34d170d.tar.gz glibc-35dc62de3d5d73a91d4ca8fa9799b510a34d170d.tar.bz2 |
Add another test for fclose on an unopened file
Add new file libio/tst-fclose-unopened2.c that tests whether fclose on an
unopened file returns EOF.
This test differs from tst-fclose-unopened.c by ensuring the file's buffer
is allocated prior to double-fclose. A comment in tst-fclose-unopened.c
now clarifies that it is testing a file with an unallocated buffer.
Calling fclose on unopened files normally causes a use-after-free bug,
however the standard streams are an exception since they are not
deallocated by fclose.
Tested for x86_64.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'libio/Makefile')
-rw-r--r-- | libio/Makefile | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libio/Makefile b/libio/Makefile index 59f3ee0..ae90e34 100644 --- a/libio/Makefile +++ b/libio/Makefile @@ -96,6 +96,7 @@ tests = \ tst-ext \ tst-ext2 \ tst-fclose-unopened \ + tst-fclose-unopened2 \ tst-fdopen-seek-failure \ tst-fgetc-after-eof \ tst-fgetwc \ @@ -251,6 +252,9 @@ LDFLAGS-tst-bz24228 = -Wl,--version-script=tst-bz24228.map tst_wprintf2-ARGS = "Some Text" +tst-fclose-unopened2-ENV = \ + MALLOC_TRACE=$(objpfx)tst-fclose-unopened2.mtrace \ + LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so test-fmemopen-ENV = MALLOC_TRACE=$(objpfx)test-fmemopen.mtrace \ LD_PRELOAD=$(common-objpfx)/malloc/libc_malloc_debug.so tst-fdopen-seek-failure-ENV = \ @@ -275,6 +279,8 @@ generated += \ tst-bz22415.mtrace \ tst-bz24228.check \ tst-bz24228.mtrace \ + tst-fclose-unopened2.check \ + tst-fclose-unopened2.mtrace \ tst-fdopen-seek-failure.check \ tst-fdopen-seek-failure.mtrace \ tst-fopenloc.check \ @@ -313,6 +319,7 @@ tests-special += \ $(objpfx)test-fmemopen-mem.out \ $(objpfx)tst-bz22415-mem.out \ $(objpfx)tst-bz24228-mem.out \ + $(objpfx)tst-fclose-unopened2-mem.out \ $(objpfx)tst-fdopen-seek-failure-mem.out \ $(objpfx)tst-fopenloc-mem.out \ # tests-special @@ -400,6 +407,11 @@ $(objpfx)test-fmemopen-mem.out: $(objpfx)test-fmemopen.out $(common-objpfx)malloc/mtrace $(objpfx)test-fmemopen.mtrace > $@; \ $(evaluate-test) +$(objpfx)tst-fclose-unopened2-mem.out: $(objpfx)tst-fclose-unopened2.out + $(common-objpfx)malloc/mtrace \ + $(objpfx)tst-fclose-unopened2.mtrace > $@; \ + $(evaluate-test) + $(objpfx)tst-fdopen-seek-failure-mem.out: $(objpfx)tst-fdopen-seek-failure.out $(common-objpfx)malloc/mtrace \ $(objpfx)tst-fdopen-seek-failure.mtrace > $@; \ |