diff --git a/utils/opcontrol b/utils/opcontrol index 3a8a814..487e158 100644 --- a/utils/opcontrol +++ b/utils/opcontrol @@ -385,12 +385,27 @@ create_dir() get_event() { - GOTEVENT=`eval "echo \\$CHOSEN_EVENTS_$1"` + clean1="`echo "${1}" | tr -cd '[:alnum:]_'`" + if [ "x$1" != "x$clean1" ]; then + echo "Invalid event number \"$1\"." + exit 1 + fi + GOTEVENT=`eval "echo \\$CHOSEN_EVENTS_$clean1"` } set_event() { - eval "CHOSEN_EVENTS_$1=$2" + clean1="`echo "${1}" | tr -cd '[:alnum:]_'`" + clean2="`echo "${2}" | tr -cd '[:alnum:]_'`" + if [ "x$1" != "x$clean1" ]; then + echo "Invalid event number \"$1\"." + exit 1 + fi + if [ "x$2" != "x$clean2" ]; then + echo "Invalid event \"$2\"." + exit 1 + fi + eval "CHOSEN_EVENTS_$clean1=$clean2" }