diff --git a/ssm b/ssm index 064f4e3..c4b5ebf 100755 --- a/ssm +++ b/ssm @@ -767,6 +767,11 @@ flag_edit_service && { edit; die $?; } service_name = "${1##*/}" readonly service_name +# Enforce service_name to conform to BASH's name constraints +[[ $service_name =~ ^[a-zA-Z_][a-zA-Z0-9_]+?$ ]] || { + die 77 "Invalid service name: '$service_name'" +} + # These depend on the service_name and make little sense to reconfigure. service_ready_flag := "$rundir/$service_name.ready" service_enabled_flag := "$rundir/$service_name.enabled"