[tor-commits] [tor/master] Avoid undefined behaviour of test

nickm at torproject.org nickm at torproject.org
Wed Feb 11 21:00:20 UTC 2015


commit 6ecd6e27dab79f7b6ee913edca1bec219f1cd2a0
Author: Sebastian Hahn <sebastian at torproject.org>
Date:   Sat Feb 7 14:54:21 2015 +0100

    Avoid undefined behaviour of test
    
    Fixes part of bug #14478, patch idea suggested by an anonymous
    contributor. Thanks!
---
 src/test/zero_length_keys.sh |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/test/zero_length_keys.sh b/src/test/zero_length_keys.sh
index 0dd67c1..cd1b60d 100755
--- a/src/test/zero_length_keys.sh
+++ b/src/test/zero_length_keys.sh
@@ -30,7 +30,8 @@ if [ -z "$DATA_DIR" ]; then
   echo "Failure: mktemp invocation returned empty string"
   exit 255
 fi
-if [ -d "$DATA_DIR" ]; then
+if [ ! -d "$DATA_DIR" ]; then
+    echo "$DATA_DIR"
   echo "Failure: mktemp invocation result doesn't point to directory"
   exit 255
 fi
@@ -40,7 +41,8 @@ trap "rm -rf '$DATA_DIR'" 0
 # 'ExitRelay 0' suppresses a warning.
 TOR="./src/or/tor --hush --DisableNetwork 1 --ShutdownWaitLength 0 --ORPort 12345 --ExitRelay 0"
 
-if [ -s "$DATA_DIR"/keys/secret_id_key -a -s "$DATA_DIR"/keys/secret_onion_key -a -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
+if [ -s "$DATA_DIR"/keys/secret_id_key ] && [ -s "$DATA_DIR"/keys/secret_onion_key ] &&
+   [ -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
   echo "Failure: Previous tor keys present in tor data directory"
   exit 255
 else
@@ -53,7 +55,8 @@ else
   wait $TOR_PID
 
   # tor must successfully generate non-zero-length key files
-  if [ -s "$DATA_DIR"/keys/secret_id_key -a -s "$DATA_DIR"/keys/secret_onion_key -a -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
+  if [ -s "$DATA_DIR"/keys/secret_id_key ] && [ -s "$DATA_DIR"/keys/secret_onion_key ] &&
+     [ -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
     true #echo "tor generated the initial key files"
   else
     echo "Failure: tor failed to generate the initial key files"
@@ -96,7 +99,8 @@ wait $TOR_PID
 #ls -lh "$DATA_DIR"/keys/ || exit 255
 
 # tor must always have non-zero-length key files
-if [ -s "$DATA_DIR"/keys/secret_id_key -a -s "$DATA_DIR"/keys/secret_onion_key -a -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
+if [ -s "$DATA_DIR"/keys/secret_id_key ] && [ -s "$DATA_DIR"/keys/secret_onion_key ] &&
+   [ -s "$DATA_DIR"/keys/secret_onion_key_ntor ]; then
   # check if the keys are different to the old ones
   diff -q -r "$DATA_DIR"/keys "$DATA_DIR"/keys.old > /dev/null
   SAME_KEYS=$?





More information about the tor-commits mailing list