[drupal-devel] [bug] menu error line 974 with MBstring

Robin Monks drupal-devel at drupal.org
Thu Jun 2 11:48:56 UTC 2005


Issue status update for http://drupal.org/node/22026

 Project:      Drupal
 Version:      cvs
 Component:    menu system
 Category:     bug reports
 Priority:     normal
 Assigned to:  Robin Monks
 Reported by:  hendler
 Updated by:   Robin Monks
 Status:       patch

Hmm, seems odd.


Since I don't use MBstring it become harder for me to understand the
problem.  All I know, is my patch dosn't break anything and should be
there anyways, in case my some miracle we attempt to work on a
non-existant object.


Robin




Robin Monks



Previous comments:
------------------------------------------------------------------------

May 5, 2005 - 00:15 : hendler

Menu.inc on line 974


 the do {}while() causes an error if $parent is empty because strrpos,
(I have mbstring enabled) may be null
to fix my problem I have this if statement wrapping it, which I
understand is logically equivlent to just doing a while loop.


      if ($parent){
       do {
         $parent = substr($parent, 0, strrpos($parent, '/'));
       }
       while ($parent && !array_key_exists($parent, $_menu['path
index']));
      }


This happens just after a new install.




------------------------------------------------------------------------

May 5, 2005 - 23:43 : Robin Monks

Attachment: http://drupal.org/files/issues/menu.inc_0.patch (908 bytes)

We apparently don't check if the object exists before we work on it.


Robin




------------------------------------------------------------------------

May 6, 2005 - 09:43 : Dries

I wonder how I can reproduce this problem.  Maybe we are fixing the
symptom, not the cause.




------------------------------------------------------------------------

May 31, 2005 - 03:26 : mark.stephens

I was having this problem with a clean install of drupal 4.6.0. I had
mbstrings enabled in PHP. I turned it off, and the problem went away
immediately. Within mbstrings, I had:


mbstring.language = English
mbstring.internal_encoding = UTF-8
mbstring.http_output = auto
mbstring.func_overload = 7


PHP 4.3.11.


Mark







More information about the drupal-devel mailing list