scripts/xldd: don't pass random format to printf
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jul 11 00:15:00 2011 +0200 (2011-07-11)
changeset 25484e913a0a7e56
parent 2547 fd7aa33a03c5
child 2549 f1c730da41f3
scripts/xldd: don't pass random format to printf

Although proabaly inoffensive in our case, do not pass un-checked
formats to printf.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
scripts/xldd.in
     1.1 --- a/scripts/xldd.in	Mon Jul 11 00:13:57 2011 +0200
     1.2 +++ b/scripts/xldd.in	Mon Jul 11 00:15:00 2011 +0200
     1.3 @@ -210,7 +210,7 @@
     1.4      local base
     1.5      local d i
     1.6  
     1.7 -    do_trace "Searching for '${needed}'\n"
     1.8 +    do_trace "Searching for '%s'\n" "${needed}"
     1.9  
    1.10      # rpath shall come first!
    1.11      list=(                      \
    1.12 @@ -228,7 +228,7 @@
    1.13              dirs=( "${needed_search_path[@]}" )
    1.14          fi
    1.15          for d in "${dirs[@]}"; do
    1.16 -            do_trace "-> looking in '${d}' (${where})\n"
    1.17 +            do_trace "-> looking in '%s' (%s)\n" "${d}" "${where}"
    1.18              if [ -f "${base}${d}/${needed}" ]; then
    1.19                  found="${d}/${needed}"
    1.20                  do_trace "---> found\n"
    1.21 @@ -244,7 +244,7 @@
    1.22          printf "%8s%s not found\n" "" "${needed}"
    1.23      fi
    1.24  
    1.25 -    do_trace "Done searching for '${needed}'\n"
    1.26 +    do_trace "Done searching for '%s'\n" "${needed}"
    1.27  }
    1.28  
    1.29  # Scan a file for all NEEDED tags
    1.30 @@ -254,19 +254,19 @@
    1.31      local n m
    1.32      local found
    1.33  
    1.34 -    do_trace "Parsing file '${file}'\n"
    1.35 +    do_trace "Parsing file '%s'\n" "${file}"
    1.36  
    1.37      save_search_rpath=( "${search_rpath[@]}" )
    1.38      for n in $( "${readelf}" -d "${file}"                                           \
    1.39                  |"${grep}" -E '\((RPATH|RUNPATH)\)'                                 \
    1.40                  |"${sed}" -r -e 's/^.*Library r(|un)path:[[:space:]]+\[(.*)\]$/\2/;'\
    1.41                ); do
    1.42 -        do_trace "-> adding rpath '${n}'\n"
    1.43 +        do_trace "-> adding rpath '%s'\n" "${n}"
    1.44          search_rpath+=( "${n}" )
    1.45      done
    1.46      do_trace ": search path:\n"
    1.47      for n in "${search_rpath[@]}" "${needed_search_path[@]}"; do
    1.48 -        do_trace ": - '${n}'\n"
    1.49 +        do_trace ": - '%s'\n" "${n}"
    1.50      done
    1.51      do_trace ": end search path"
    1.52  
    1.53 @@ -279,18 +279,18 @@
    1.54              [ "${n}" = "${m}" ] && found=1 && break
    1.55          done
    1.56          if [ ${found} -ne 0 ]; then
    1.57 -            do_trace "-> skipping already known dependency '${n}'\n"
    1.58 +            do_trace "-> skipping already known dependency '%s'\n" "${n}"
    1.59              continue
    1.60          fi
    1.61 -        do_trace "-> handling new dependency '${n}'\n"
    1.62 +        do_trace "-> handling new dependency '%s'\n" "${n}"
    1.63          needed_list+=( "${n}" )
    1.64          do_find_needed "${n}"
    1.65 -        do_trace "-> done handling dependency '${n}'\n"
    1.66 +        do_trace "-> done handling dependency '%s'\n" "${n}"
    1.67      done
    1.68  
    1.69      search_rpath=( "${save_search_rpath[@]}" )
    1.70  
    1.71 -    do_trace "Finished parsing file '${file}'\n"
    1.72 +    do_trace "Finished parsing file '%s'\n" "${file}"
    1.73  }
    1.74  
    1.75  # Recursively scan a /etc/ld.so.conf file
    1.76 @@ -300,28 +300,28 @@
    1.77      local f
    1.78  
    1.79      [ -f "${ldsoconf}" ] || return 0
    1.80 -    do_trace "Parsing ld.so.conf: '${ldsoconf}'\n"
    1.81 +    do_trace "Parsing ld.so.conf: '%s'\n" "${ldsoconf}"
    1.82  
    1.83      while read line; do
    1.84          case "${line}" in
    1.85              include\ *)
    1.86                  g="${root}${line#include }"
    1.87 -                do_trace "-> handling include directive '${g}'\n"
    1.88 +                do_trace "-> handling include directive '%s'\n" "${g}"
    1.89                  for f in ${g}; do
    1.90                      do_scan_etc_ldsoconf "${f}"
    1.91                  done
    1.92 -                do_trace "-> finished handling include directive '${g}'\n"
    1.93 +                do_trace "-> finished handling include directive '%s'\n" "${g}"
    1.94                  ;;
    1.95              \#*|"")
    1.96                  ;;
    1.97              *)
    1.98 -                do_trace "-> adding search dir '${line}'\n"
    1.99 +                do_trace "-> adding search dir '%s'\n" "${line}"
   1.100                  needed_search_path+=( "${line}" )
   1.101                  ;;
   1.102          esac
   1.103      done <"${ldsoconf}"
   1.104  
   1.105 -    do_trace "Finished parsing ld.so.conf: '${ldsoconf}'\n"
   1.106 +    do_trace "Finished parsing ld.so.conf: '%s'\n" "${ldsoconf}"
   1.107  }
   1.108  
   1.109  # Build up the full list of search directories
   1.110 @@ -331,7 +331,7 @@
   1.111  while [ -n "${ld_library_path}" ]; do
   1.112      d="${ld_library_path%%:*}"
   1.113      if [ -n "${d}" ]; then
   1.114 -        do_trace "-> adding search dir '${d}'\n"
   1.115 +        do_trace "-> adding search dir '%s'\n" "${d}"
   1.116          needed_search_path+=( "${d}" )
   1.117      fi
   1.118      ld_library_path="${ld_library_path#*:}"
   1.119 @@ -342,11 +342,11 @@
   1.120  do_trace "Done scanning '/etc/ld.so.conf'\n"
   1.121  do_trace "Search path:\n"
   1.122  for p in "${needed_search_path[@]}"; do
   1.123 -    do_trace "-> '${p}'\n"
   1.124 +    do_trace "-> '%s'\n" "${p}"
   1.125  done
   1.126  
   1.127  declare -a needed_list
   1.128  declare -a search_rpath
   1.129 -do_trace "Scanning file '${1}'\n"
   1.130 +do_trace "Scanning file '%s'\n" "${1}"
   1.131  do_process_file "${1}"
   1.132 -do_trace "Done scanning file '${1}'\n"
   1.133 +do_trace "Done scanning file '%s'\n" "${1}"