chiark / gitweb /
Enable hardening flags harder.
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 18 Jan 2014 19:47:21 +0000 (19:47 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 18 Jan 2014 19:47:21 +0000 (19:47 +0000)
Now with a workaround for broken GCC diagnostic.

debian/rules
libtests/t-printf.c

index 63319bb..d539af7 100755 (executable)
@@ -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
index 7402471..d9c22af 100644 (file)
@@ -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);