]> git.proxmox.com Git - pmg-api.git/blobdiff - src/PMG/RuleDB/MatchFilename.pm
fix #4811: rule db: test regex validity on save
[pmg-api.git] / src / PMG / RuleDB / MatchFilename.pm
index c9cdbe08fb8f9b177742b7ba370f10708ea371c0..90f865463605c08d0c86373027f9d6da8cd29268 100644 (file)
@@ -58,6 +58,9 @@ sub save {
     defined($self->{ogroup}) || die "undefined ogroup: ERROR";
 
     my $new_value = $self->{fname};
+
+    PMG::Utils::test_regex("^${new_value}\$");
+
     $new_value =~ s/\\/\\\\/g;
     $new_value = encode('UTF-8', $new_value);
 
@@ -91,9 +94,12 @@ sub parse_entity {
        chomp $id;
 
        if (my $value = PMG::Utils::extract_filename($entity->head)) {
-           if ($value =~ m|^$self->{fname}$|i) {
-               push @$res, $id;
-           }
+           eval {
+               if ($value =~ m|^$self->{fname}$|i) {
+                   push @$res, $id;
+               }
+           };
+           warn "invalid regex: $@\n" if $@;
        }
     }