summaryrefslogtreecommitdiff
path: root/modules/overlay
diff options
context:
space:
mode:
Diffstat (limited to 'modules/overlay')
-rw-r--r--modules/overlay/overlay.module4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/overlay/overlay.module b/modules/overlay/overlay.module
index 728198680..7b2fc9393 100644
--- a/modules/overlay/overlay.module
+++ b/modules/overlay/overlay.module
@@ -146,6 +146,10 @@ function overlay_init() {
// If this page shouldn't be rendered inside the overlay, redirect to the
// parent.
elseif (!path_is_admin($current_path)) {
+ // Prevent open redirects by ensuring the current path is not an absolute URL.
+ if (url_is_external($current_path)) {
+ $current_path = '<front>';
+ }
overlay_close_dialog($current_path, array('query' => drupal_get_query_parameters(NULL, array('q', 'render'))));
}