diff --git a/tools/do_protect_pov.sh b/tools/do_protect_pov.sh index 06efdfafe42929f8654b5efa934d2ba9b1c0fc14..11398fe955c9067e82c65f8b6296e5bd450f0b94 100755 --- a/tools/do_protect_pov.sh +++ b/tools/do_protect_pov.sh @@ -14,6 +14,7 @@ # in the step options: # # --pov_dir=<fully_qualified_path_to_pov_dir> +# --crash_dir=<fully_qualified_path_to_pov_dir> # --pov_crash_summary=<fully_qualified_path_to_crash_summary> # @@ -23,8 +24,8 @@ CRASH_CSO_FILE=$3 shift 3 -short_opts="p:c:" -long_opts="--long pov_dir: --long pov_crash_summary:" +short_opts="p:c:d:" +long_opts="--long pov_dir: --long pov_crash_summary: --long crash_dir:" TEMP=`getopt -o $short_opts $long_opts -n 'do_protect_pov.sh' -- "$@"` if [ ! $? -eq 0 ]; then @@ -40,6 +41,10 @@ while true ; do POV_DIR=$2 shift 2 ;; + --crash_dir | d) + CRASH_DIR=$2 + shift 2 + ;; --pov_crash_summary | c) POV_CRASH_SUMMARY=$2 shift 2 @@ -50,21 +55,39 @@ while true ; do esac done -echo "POV_DIR: $POV_DIR" -echo "POV_CRASH_SUMMARY: $POV_CRASH_SUMMARY" +if [ ! -f $POV_CRASH_SUMMARY ]; then + touch $POV_CRASH_SUMMARY +fi + + +TMP_DIR=tmp.dir.pov.crash.$$ +TMP_FILE=tmp.file.$$ if [ -z $POV_DIR ]; then - echo "ERROR: No POV directory was specified" - return 1 + mkdir $TMP_DIR + POV_DIR=`pwd`/$TMP_DIR fi -if [ ! -f $POV_CRASH_SUMMARY ]; then - touch $POV_CRASH_SUMMARY +if [ -z $CRASH_DIR ]; then + mkdir $TMP_DIR + CRASH_DIR=`pwd`/$TMP_DIR +fi + +if [ -z $POV_CRASH_SUMMARY ]; then + touch $TMP_FILE + POV_CRASH_SUMMARY=`pwd`/$TMP_FILE fi -echo "cmd: $SECURITY_TRANSFORMS_HOME/tools/cgc_protect/pov_to_cso.sh $ORIG $CGC_CSID $POV_DIR $CRASH_CSO_FILE $POV_CRASH_SUMMARY" +echo "POV_DIR: $POV_DIR" +echo "POV_CRASH_SUMMARY: $POV_CRASH_SUMMARY" +echo "CRASH_DIR: $CRASH_DIR" + +echo "cmd: $SECURITY_TRANSFORMS_HOME/tools/cgc_protect/pov_to_cso.sh $ORIG $CGC_CSID $POV_DIR $CRASH_CSO_FILE $POV_CRASH_SUMMARY $CRASH_DIR" + +$SECURITY_TRANSFORMS_HOME/tools/cgc_protect/pov_to_cso.sh $ORIG $CGC_CSID $POV_DIR $CRASH_CSO_FILE $POV_CRASH_SUMMARY $CRASH_DIR -$SECURITY_TRANSFORMS_HOME/tools/cgc_protect/pov_to_cso.sh $ORIG $CGC_CSID $POV_DIR $CRASH_CSO_FILE $POV_CRASH_SUMMARY +rmdir $TMP_DIR &>/dev/null +rm $TMP_FILE &>/dev/null exit 0 diff --git a/tools/ps_analyze.sh b/tools/ps_analyze.sh index bfb13b67d2c5b87afabc426b8410e5f8ca1d9812..2d1279c0615b7b8e88f61c739331132d5c862745 100755 --- a/tools/ps_analyze.sh +++ b/tools/ps_analyze.sh @@ -829,7 +829,7 @@ perform_step appfw find_strings $PEASOUP_HOME/tools/do_appfw.sh $arch_bits $newn # # protect_pov # -perform_step protect_pov fill_in_indtargs $PEASOUP_HOME/tools/do_protect_pov.sh a.ncexe $name crash.pov.cso $step_options_protect_pov +perform_step protect_pov fill_in_indtargs $PEASOUP_HOME/tools/do_protect_pov.sh $PWD/a.ncexe $name $PWD/crash.pov.cso $step_options_protect_pov if [ -f crash.pov.cso ]; then step_options_watch_allocate="$step_options_watch_allocate --warning_file=crash.pov.cso" fi