From aba8160d6ae9452fae81294c2c40574334e52a1c Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Fri, 4 Jul 2014 11:53:51 +0000 Subject: [PATCH] Adding better regexp check. Multiline command allowed git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@6195 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/98_cmdalias.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/FHEM/98_cmdalias.pm b/FHEM/98_cmdalias.pm index 2a9c899eb..d5ac5b198 100644 --- a/FHEM/98_cmdalias.pm +++ b/FHEM/98_cmdalias.pm @@ -25,7 +25,7 @@ cmdalias_Define($$$) { my ($hash, $def) = @_; - if($def !~ m/^([^ ]*) cmdalias ([^ ]*)(.*) AS (.*)$/) { + if($def !~ m/^([^ ]*) cmdalias ([^ ]*)(.*) AS (.*)$/s) { my $msg = "wrong syntax: define cmdalias [parameter] AS command..."; return $msg; @@ -33,7 +33,8 @@ cmdalias_Define($$$) my ($name, $alias, $param, $newcmd) = ($1, $2, $3, $4); $param =~ s/^ *//; # Checking for misleading regexps - eval { "Hallo" =~ m/^$param$/ }; + return "Bad regexp: starting with *" if($param =~ m/^\*/); + eval { qr/^$param$/ }; return "$name: Bad regexp in $param: $@" if($@); $hash->{ALIAS} = lc($alias); $hash->{PARAM} = $param;