Hi,

No checks are done on data retrieve from hook_requirements callback called in drupal_check_profile(). Not like other functions such as system_status() and update_check_requirements() which do it implicitly by using module_invoke_all().

As a consequence, it could try to merge an array with null if function callback doesn't return anything (which should throw php warning). Finally, requirements array would be null. if install_check_requirements() does nothing on this variable, it still be null and the merge done in install_verify_requirements()

$requirements += drupal_verify_profile($install_state);

will generate an unsupported operand types PHP error.

CommentFileSizeAuthor
#1 install-check_requirement-1978590-1.patch591 byteschaby

Comments

chaby’s picture

Status: Active » Needs review
StatusFileSize
new591 bytes
michlis’s picture

I had exactly this error in Drupal 7.20.

Fatal error: Unsupported operand types in C:\web\portal\includes\install.core.inc on line 726

It happened while testing new install profile in multisite setup and some required modules where is wrong folders.
Anyway, patch from #1 fixed this error and installation process was able to display more meaningful error due to missing modules.
Thanks chaby!

Status: Needs review » Closed (outdated)

Automatically closed because Drupal 7 security and bugfix support has ended as of 5 January 2025. If the issue verifiably applies to later versions, please reopen with details and update the version.