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"
 }