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();
  }
CommentFileSizeAuthor
#2 edit_form_fail-3063349.patch417 bytesaporie

Comments

Aporie created an issue. See original summary.

aporie’s picture

Status: Active » Needs review
StatusFileSize
new417 bytes
pifagor’s picture

Status: Needs review » Reviewed & tested by the community

  • pifagor committed 7c4d461 on 7.x-2.x authored by Aporie
    Issue #3063349 by Aporie, pifagor:  Can't save a redirection from admin/...

  • pifagor committed 7f9531d on 7.x-1.x
    Issue #3063349 by Aporie, pifagor:  Can't save a redirection from admin/...
pifagor’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.