summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorCharles Strahan <charles@cstrahan.com>2017-08-08 15:15:44 -0400
committerCharles Strahan <charles@cstrahan.com>2018-03-06 00:30:08 -0500
commit9920923cdeed74386182feb84861746847d0114e (patch)
tree0cad97a18c83b7deffc2bafb058ba1214786df3e /pkgs
parent0937df463f4586799d3727b67f8ba714736bef95 (diff)
downloadnixlib-9920923cdeed74386182feb84861746847d0114e.tar
nixlib-9920923cdeed74386182feb84861746847d0114e.tar.gz
nixlib-9920923cdeed74386182feb84861746847d0114e.tar.bz2
nixlib-9920923cdeed74386182feb84861746847d0114e.tar.lz
nixlib-9920923cdeed74386182feb84861746847d0114e.tar.xz
nixlib-9920923cdeed74386182feb84861746847d0114e.tar.zst
nixlib-9920923cdeed74386182feb84861746847d0114e.zip
hardening: fix careless bugs
I got a substitution backwards (used '+' instead of '-').

Also, this now works under `set -u` (had to fix a couple unbound
variable references).
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/cc-wrapper/add-hardening.sh10
1 files changed, 5 insertions, 5 deletions
diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh
index fedb5c19021a..5713d93ed3f3 100644
--- a/pkgs/build-support/cc-wrapper/add-hardening.sh
+++ b/pkgs/build-support/cc-wrapper/add-hardening.sh
@@ -1,8 +1,8 @@
 allHardeningFlags=(fortify stackprotector pie pic strictoverflow format relro bindnow)
 hardeningCFlags=()
 
-declare -A hardeningDisableMap
-declare -A hardeningEnableMap
+declare -A hardeningDisableMap=()
+declare -A hardeningEnableMap=()
 
 # Create table of unsupported flags for this toolchain.
 for flag in @hardening_unsupported_flags@; do
@@ -12,8 +12,8 @@ done
 # Intentionally word-split in case 'NIX_HARDENING_ENABLE' is defined in Nix. The
 # array expansion also prevents undefined variables from causing trouble with
 # `set -u`.
-for flag in ${NIX_HARDENING_ENABLE+}; do
-  if [[ -z "${hardeningDisableMap[$flag]}" ]]; then
+for flag in ${NIX_HARDENING_ENABLE-}; do
+  if [[ -z "${hardeningDisableMap[$flag]-}" ]]; then
     hardeningEnableMap[$flag]=1
   fi
 done
@@ -21,7 +21,7 @@ done
 if (( "${NIX_DEBUG:-0}" >= 1 )); then
   # Determine which flags were effectively disabled so we can report below.
   for flag in ${allHardeningFlags[@]}; do
-    if [[ -z "${hardeningEnableMap[$flag]}" ]]; then
+    if [[ -z "${hardeningEnableMap[$flag]-}" ]]; then
       hardeningDisableMap[$flag]=1
     fi
   done