From 9c15449d763c5e9449f306ae0c320b39375afc98 Mon Sep 17 00:00:00 2001 Message-Id: <9c15449d763c5e9449f306ae0c320b39375afc98.1715707805.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sat, 18 Jan 2014 19:47:21 +0000 Subject: [PATCH] Enable hardening flags harder. Organization: Straylight/Edgeware From: Richard Kettlewell Now with a workaround for broken GCC diagnostic. --- debian/rules | 8 -------- libtests/t-printf.c | 16 ++++++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/debian/rules b/debian/rules index 63319bb..d539af7 100755 --- a/debian/rules +++ b/debian/rules @@ -29,14 +29,6 @@ export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS # Options to configure. This can be overridden by the caller if necessary. CONFIGURE=--prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --mandir=/usr/share/man --with-browser=${browser} cgiexecdir="${cgiexecdir}" httpdir="${httpdir}" -# Set DEB_BUILD_OPTIONS=noopt to produce a non-optimized build. -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -CFLAGS=-O0 -g -else -CFLAGS=-O2 -g -endif -export CFLAGS - # Install commands. You wouldn't normally override these. INSTALL=install INSTALL_DATA=$(INSTALL) -p -o root -g root -m 644 diff --git a/libtests/t-printf.c b/libtests/t-printf.c index 7402471..d9c22af 100644 --- a/libtests/t-printf.c +++ b/libtests/t-printf.c @@ -124,7 +124,7 @@ static void test_printf(void) { { /* bizarre workaround for compiler checking of format strings */ char f[] = "xyzzy %"; - i = byte_asprintf(&cp, f); + i = byte_asprintf(&cp, f, 0); insist(i == -1); } @@ -151,13 +151,13 @@ static void test_printf(void) { check_integer(byte_snprintf(buffer, sizeof buffer, L("%zp"), (void *)0), -1); check_integer(byte_snprintf(buffer, sizeof buffer, L("%tp"), (void *)0), -1); check_integer(byte_snprintf(buffer, sizeof buffer, L("%Lp"), (void *)0), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%h%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%l%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%q%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%j%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%z%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%t%")), -1); - check_integer(byte_snprintf(buffer, sizeof buffer, L("%L%")), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%h%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%l%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%q%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%j%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%z%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%t%"), 0), -1); + check_integer(byte_snprintf(buffer, sizeof buffer, L("%L%"), 0), -1); check_integer(byte_snprintf(buffer, sizeof buffer, "%2147483647s%2147483647s", "", ""), -1); check_integer(byte_sinkprintf(sink_error(), ""), 0); check_integer(byte_sinkprintf(sink_error(), "%5s", ""), -1); -- [mdw]