From b228f0183a7797a8ec45fb39560360f40fcc6b0c Mon Sep 17 00:00:00 2001 From: Steven Wittens Date: Sat, 16 Oct 2004 19:42:52 +0000 Subject: #11449: Adding a failsafe check for an improperly prefixed menu sequence. This is a temporary fix, awaiting a proper install system to end manual prefixing ;). --- includes/menu.inc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'includes') diff --git a/includes/menu.inc b/includes/menu.inc index 729a202b8..da2f8a28a 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -505,6 +505,12 @@ function menu_rebuild() { foreach ($menu['items'] as $mid => $item) { if ($mid < 0 && ($item['type'] & MENU_MODIFIABLE_BY_ADMIN)) { $new_mid = db_next_id('{menu}_mid'); + // Check explicitly for mid 1. If the database was improperly prefixed, + // this would cause a nasty infinite loop. + // TODO: have automatic prefixing through an installer to prevent this. + if ($new_mid == 1) { + $new_mid = db_next_id('{menu}_mid'); + } if (isset($new_items[$item['pid']])) { $new_pid = $new_items[$item['pid']]['mid']; } -- cgit v1.2.3