]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/commitdiff
xdg-ninja: security and readability fixes
authorAsperatus <thomas@ballasi.com>
Fri, 13 May 2022 18:07:17 +0000 (14:07 -0400)
committerb3nj5m1n <47924309+b3nj5m1n@users.noreply.github.com>
Fri, 13 May 2022 21:09:39 +0000 (23:09 +0200)
Here are the various fixes done:

- printf can interpret sequences, therefore you want to give variable as
  a different argument
- ! [ -z "$VAL" ] <=> [ -n "$VAL" ] <=> [ "$VAL" ]
- double quote on variables to prevent globbing and word splitting

xdg-ninja.sh

index d52c6a323c65fa8d94db20098c193a4caba35e41..5fd12615f654adbd6a4914669f982cbd0a0aa0f7 100755 (executable)
@@ -80,21 +80,20 @@ log() {
     case "$MODE" in
 
     ERR)
     case "$MODE" in
 
     ERR)
-        printf "[\e[1;31m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+        printf '[\e[1;31m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
         ;;
 
     WARN)
         ;;
 
     WARN)
-        printf "[\e[1;33m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+        printf '[\e[1;33m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
         ;;
 
     INFO)
         ;;
 
     INFO)
-        printf "[\e[1;36m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
+        printf '[\e[1;36m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
         ;;
 
     SUCS)
         ;;
 
     SUCS)
-        if [ "$SKIP_OK" = false ]; then
-            printf "[\e[1;32m$NAME\e[1;0m]: \e[1;3m$FILENAME\e[1;0m\n"
-        fi
+        [ "$SKIP_OK" = false ] &&
+            printf '[\e[1;32m%s\e[1;0m]: \e[1;3m%s\e[1;0m\n' "$NAME" "$FILENAME"
         ;;
 
     HELP)
         ;;
 
     HELP)
@@ -131,7 +130,7 @@ check_file() {
         else
             log WARN "$NAME" "$FILENAME" "$HELP"
         fi
         else
             log WARN "$NAME" "$FILENAME" "$HELP"
         fi
-        if ! [ -z "$HELP" ]; then
+        if [ "$HELP" ]; then
             log HELP "$NAME" "$FILENAME" "$HELP"
         else
             log HELP "$NAME" "$FILENAME" "_No help available._"
             log HELP "$NAME" "$FILENAME" "$HELP"
         else
             log HELP "$NAME" "$FILENAME" "_No help available._"
@@ -157,7 +156,7 @@ enumerate_programs() {
     echo -e "\e[1;3mStarting to check your \e[1;36m\$HOME.\e[1;0m"
     echo -e ""
     for prog_filename in ./programs/*; do
     echo -e "\e[1;3mStarting to check your \e[1;36m\$HOME.\e[1;0m"
     echo -e ""
     for prog_filename in ./programs/*; do
-        check_program "$(cat $prog_filename)"
+        check_program "$(cat "$prog_filename")"
     done
     echo -e "\e[1;3mDone checking your \e[1;36m\$HOME.\e[1;0m"
     echo -e ""
     done
     echo -e "\e[1;3mDone checking your \e[1;36m\$HOME.\e[1;0m"
     echo -e ""