restrict rescue-clause in IncludeTag#render

As it previously enclosed the whole method, it also
wrapped file validation errors, which is not meant to be.

Fixes #1745.
This commit is contained in:
maul.esel 2013-11-22 06:58:52 +01:00
parent 3888a24068
commit c5533e9016
1 changed files with 8 additions and 6 deletions

View File

@ -96,6 +96,7 @@ eos
path = File.join(dir, file) path = File.join(dir, file)
validate_file(path, context.registers[:site].safe) validate_file(path, context.registers[:site].safe)
begin
partial = Liquid::Template.parse(source(path, context)) partial = Liquid::Template.parse(source(path, context))
context.stack do context.stack do
@ -105,6 +106,7 @@ eos
rescue => e rescue => e
raise IncludeTagError.new e.message, File.join(INCLUDES_DIR, @file) raise IncludeTagError.new e.message, File.join(INCLUDES_DIR, @file)
end end
end
def validate_dir(dir, safe) def validate_dir(dir, safe)
if File.symlink?(dir) && safe if File.symlink?(dir) && safe