Issue
In admin/config/search/redirect/404
Click "Add redirect" in the right column
You land on admin/config/search/redirect/add and get the following error message.
Warning: Creating default object from empty value in redirect_object_prepare() (line 762 of contrib/redirect/redirect.module).
Notice: Trying to get property of non-object in redirect_edit_form() (line 348 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 352 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 356 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 360 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 368 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 368 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 375 ofcontrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 382 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 382 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 390 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 397 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 404 of contrib/redirect/redirect.admin.inc).
Notice: Trying to get property of non-object in redirect_edit_form() (line 418 of contrib/redirect/redirect.admin.inc).
Cause
In admin.redirect.inc the default value passed to $redirect parameter is NULL and we then test it with isset to define it as an object. This result in never making $redirect as an object causing the function to fail and the edit_form to return an error 500.
function redirect_edit_form($form, &$form_state, $redirect = NULL) {
if (!isset($redirect)) {
$redirect = new stdClass();
}
Proposed solution
if (!$redirect) {
$redirect = new stdClass();
}
Comments
Comment #2
aporieComment #3
pifagor commentedComment #6
pifagor commented