| Index: content/browser/renderer_host/render_view_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
| index 190545d1e8e51920cee75acfffbcc953f2e05d7e..b5839aa2483aa1eb762220a4e028ff0e57f27db2 100644
|
| --- a/content/browser/renderer_host/render_view_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_view_host_impl.cc
|
| @@ -1395,6 +1395,14 @@ void RenderViewHostImpl::OnDidZoomURL(double zoom_level,
|
| }
|
|
|
| void RenderViewHostImpl::OnRunFileChooser(const FileChooserParams& params) {
|
| + // Do not allow messages with absolute paths in them as this can permit a
|
| + // renderer to coerce the browser to perform I/O on a renderer controlled
|
| + // path.
|
| + if (params.default_file_name != params.default_file_name.BaseName()) {
|
| + GetProcess()->ReceivedBadMessage();
|
| + return;
|
| + }
|
| +
|
| delegate_->RunFileChooser(this, params);
|
| }
|
|
|
|
|