diff --git a/btrbk b/btrbk index 6cecf11..6dbd79b 100755 --- a/btrbk +++ b/btrbk @@ -3768,7 +3768,10 @@ sub check_file($$;@) die("accept_type must contain either 'relative' or 'absolute'"); } - # check directory traversal + if($file =~ /\n/) { + ERROR "Unsupported newline in file ${error_statement}: " . ($file =~ s/\n/\\n/gr) if(defined($error_statement)); + return undef; + } if(($file =~ /^\.\.$/) || ($file =~ /^\.\.\//) || ($file =~ /\/\.\.\//) || ($file =~ /\/\.\.$/)) { ERROR "Illegal directory traversal ${error_statement}: $file" if(defined($error_statement)); return undef;