# HG changeset patch # User "Yann E. MORIN" # Date 1310336100 -7200 # Node ID 4e913a0a7e56035987ea7a8eaf0fd5577e2c2697 # Parent fd7aa33a03c5652bb36843b5b673944d0d64aaf0 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" diff -r fd7aa33a03c5 -r 4e913a0a7e56 scripts/xldd.in --- a/scripts/xldd.in Mon Jul 11 00:13:57 2011 +0200 +++ b/scripts/xldd.in Mon Jul 11 00:15:00 2011 +0200 @@ -210,7 +210,7 @@ local base local d i - do_trace "Searching for '${needed}'\n" + do_trace "Searching for '%s'\n" "${needed}" # rpath shall come first! list=( \ @@ -228,7 +228,7 @@ dirs=( "${needed_search_path[@]}" ) fi for d in "${dirs[@]}"; do - do_trace "-> looking in '${d}' (${where})\n" + do_trace "-> looking in '%s' (%s)\n" "${d}" "${where}" if [ -f "${base}${d}/${needed}" ]; then found="${d}/${needed}" do_trace "---> found\n" @@ -244,7 +244,7 @@ printf "%8s%s not found\n" "" "${needed}" fi - do_trace "Done searching for '${needed}'\n" + do_trace "Done searching for '%s'\n" "${needed}" } # Scan a file for all NEEDED tags @@ -254,19 +254,19 @@ local n m local found - do_trace "Parsing file '${file}'\n" + do_trace "Parsing file '%s'\n" "${file}" save_search_rpath=( "${search_rpath[@]}" ) for n in $( "${readelf}" -d "${file}" \ |"${grep}" -E '\((RPATH|RUNPATH)\)' \ |"${sed}" -r -e 's/^.*Library r(|un)path:[[:space:]]+\[(.*)\]$/\2/;'\ ); do - do_trace "-> adding rpath '${n}'\n" + do_trace "-> adding rpath '%s'\n" "${n}" search_rpath+=( "${n}" ) done do_trace ": search path:\n" for n in "${search_rpath[@]}" "${needed_search_path[@]}"; do - do_trace ": - '${n}'\n" + do_trace ": - '%s'\n" "${n}" done do_trace ": end search path" @@ -279,18 +279,18 @@ [ "${n}" = "${m}" ] && found=1 && break done if [ ${found} -ne 0 ]; then - do_trace "-> skipping already known dependency '${n}'\n" + do_trace "-> skipping already known dependency '%s'\n" "${n}" continue fi - do_trace "-> handling new dependency '${n}'\n" + do_trace "-> handling new dependency '%s'\n" "${n}" needed_list+=( "${n}" ) do_find_needed "${n}" - do_trace "-> done handling dependency '${n}'\n" + do_trace "-> done handling dependency '%s'\n" "${n}" done search_rpath=( "${save_search_rpath[@]}" ) - do_trace "Finished parsing file '${file}'\n" + do_trace "Finished parsing file '%s'\n" "${file}" } # Recursively scan a /etc/ld.so.conf file @@ -300,28 +300,28 @@ local f [ -f "${ldsoconf}" ] || return 0 - do_trace "Parsing ld.so.conf: '${ldsoconf}'\n" + do_trace "Parsing ld.so.conf: '%s'\n" "${ldsoconf}" while read line; do case "${line}" in include\ *) g="${root}${line#include }" - do_trace "-> handling include directive '${g}'\n" + do_trace "-> handling include directive '%s'\n" "${g}" for f in ${g}; do do_scan_etc_ldsoconf "${f}" done - do_trace "-> finished handling include directive '${g}'\n" + do_trace "-> finished handling include directive '%s'\n" "${g}" ;; \#*|"") ;; *) - do_trace "-> adding search dir '${line}'\n" + do_trace "-> adding search dir '%s'\n" "${line}" needed_search_path+=( "${line}" ) ;; esac done <"${ldsoconf}" - do_trace "Finished parsing ld.so.conf: '${ldsoconf}'\n" + do_trace "Finished parsing ld.so.conf: '%s'\n" "${ldsoconf}" } # Build up the full list of search directories @@ -331,7 +331,7 @@ while [ -n "${ld_library_path}" ]; do d="${ld_library_path%%:*}" if [ -n "${d}" ]; then - do_trace "-> adding search dir '${d}'\n" + do_trace "-> adding search dir '%s'\n" "${d}" needed_search_path+=( "${d}" ) fi ld_library_path="${ld_library_path#*:}" @@ -342,11 +342,11 @@ do_trace "Done scanning '/etc/ld.so.conf'\n" do_trace "Search path:\n" for p in "${needed_search_path[@]}"; do - do_trace "-> '${p}'\n" + do_trace "-> '%s'\n" "${p}" done declare -a needed_list declare -a search_rpath -do_trace "Scanning file '${1}'\n" +do_trace "Scanning file '%s'\n" "${1}" do_process_file "${1}" -do_trace "Done scanning file '${1}'\n" +do_trace "Done scanning file '%s'\n" "${1}"