From 1e5f9393818cdc2264e7e44ed17291366da3dcb9 Mon Sep 17 00:00:00 2001 From: cjdelisle Date: Sun, 16 Oct 2011 20:38:23 -0400 Subject: [PATCH] Added a workaround for an Ubuntu bug which causes -fstack-protector-all to be disregarded. --- src/makefile.unix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/makefile.unix b/src/makefile.unix index 871aedd1..5f841ea0 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -51,12 +51,17 @@ LIBS+= \ # Hardening # Make some classes of vulnerabilities unexploitable in case one is discovered. # + # This is a workaround for Ubuntu bug #691722, the default -fstack-protector causes + # -fstack-protector-all to be ignored unless -fno-stack-protector is used first. + # see: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722 + HARDENING=-fno-stack-protector + # Stack Canaries # Put numbers at the beginning of each stack frame and check that they are the same. # If a stack buffer if overflowed, it writes over the canary number and then on return # when that number is checked, it won't be the same and the program will exit with # a "Stack smashing detected" error instead of being exploited. - HARDENING=-fstack-protector-all -Wstack-protector + HARDENING+=-fstack-protector-all -Wstack-protector # Make some important things such as the global offset table read only as soon as # the dynamic linker is finished building it. This will prevent overwriting of addresses