Skip to content

Commit e55be83

Browse files
committed
Ruby: add 'render file:' as file system access
1 parent fc810dd commit e55be83

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

ruby/ql/lib/codeql/ruby/frameworks/Rails.qll

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,21 @@ module Rails {
7171

7272
/** A render call that does not automatically set the HTTP response body. */
7373
class RenderToCall extends MethodCall instanceof RenderToCallImpl { }
74+
75+
/**
76+
* A `render` call seen as a file system access.
77+
*/
78+
private class RenderAsFileSystemAccess extends FileSystemAccess::Range, DataFlow::CallNode {
79+
RenderAsFileSystemAccess() {
80+
exists(MethodCall call | this.asExpr().getExpr() = call |
81+
call instanceof RenderCall
82+
or
83+
call instanceof RenderToCall
84+
)
85+
}
86+
87+
override DataFlow::Node getAPathArgument() { result = this.getKeywordArgument("file") }
88+
}
7489
}
7590

7691
/**

0 commit comments

Comments
 (0)