From fdcf1c9480342d9f5fc2d23f142d621bcb4d00a4 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 25 Apr 2016 14:10:26 +0200 Subject: vfprintf: Fix memory with large width and precision [BZ #19931] Free a previously allocated work buffer if it is not large enough. --- stdio-common/Makefile | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'stdio-common/Makefile') diff --git a/stdio-common/Makefile b/stdio-common/Makefile index cc79d347bc..6c597c1926 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -58,16 +58,18 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \ scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \ bug-vfprintf-nargs tst-long-dbl-fphex tst-fphex-wide tst-sprintf3 \ bug25 tst-printf-round bug23-2 bug23-3 bug23-4 bug26 tst-fmemopen3 \ - tst-printf-bz18872 + tst-printf-bz18872 tst-vfprintf-width-prec test-srcs = tst-unbputc tst-printf ifeq ($(run-built-tests),yes) tests-special += $(objpfx)tst-unbputc.out $(objpfx)tst-printf.out \ $(objpfx)tst-printf-bz18872-mem.out \ - $(objpfx)tst-setvbuf1-cmp.out + $(objpfx)tst-setvbuf1-cmp.out \ + $(objpfx)tst-vfprintf-width-prec-mem.out generated += tst-printf-bz18872.c tst-printf-bz18872.mtrace \ - tst-printf-bz18872-mem.out + tst-printf-bz18872-mem.out \ + tst-vfprintf-width-prec.mtrace tst-vfprintf-width-prec-mem.out endif include ../Rules @@ -86,6 +88,8 @@ $(objpfx)tst-swprintf.out: $(gen-locales) endif tst-printf-bz18872-ENV = MALLOC_TRACE=$(objpfx)tst-printf-bz18872.mtrace +tst-vfprintf-width-prec-ENV = \ + MALLOC_TRACE=$(objpfx)tst-vfprintf-width-prec.mtrace $(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \ @@ -100,8 +104,8 @@ $(objpfx)tst-printf.out: tst-printf.sh $(objpfx)tst-printf $(objpfx)tst-printf-bz18872.c: tst-printf-bz18872.sh rm -f $@ && $(BASH) $^ > $@.new && mv $@.new $@ -$(objpfx)tst-printf-bz18872-mem.out: $(objpfx)tst-printf-bz18872.out - $(common-objpfx)malloc/mtrace $(objpfx)tst-printf-bz18872.mtrace > $@; \ +$(objpfx)tst-%-mem.out: $(objpfx)tst-%.out + $(common-objpfx)malloc/mtrace $(objpfx)tst-$*.mtrace > $@; \ $(evaluate-test) CFLAGS-vfprintf.c = -Wno-uninitialized -- cgit 1.4.1