[Zope-dev] Bug in Traversable.py

Stefan H. Holek stefan at epy.co.at
Wed Mar 28 16:17:16 EDT 2007


Please file a bug, mailing list traffic tends to get lost.

Thanks,
Stefan


On 23. Mär 2007, at 11:12, Roché Compaan wrote:

> Looks like there is a bug in Zope 2.10.2 with OFS/Traversable.py on  
> line
> 228:
>
>                             if not ok:
>                                 if (container is not None or
>                                     guarded_getattr(obj, name,  
> _marker)
>                                         is not next):
>                                     raise Unauthorized(name)
>
> Here is my debugging session:
>
> (Pdb) guarded_getattr(obj, name, _marker)
> 'Guo Zhonghai'
> (Pdb) obj
> <Contact at /creme/Contacts/Contact_1125>
> (Pdb) name
> 'title'
> (Pdb) guarded_getattr(obj, name, _marker)
> 'Guo Zhonghai'
> (Pdb) p next
> 'Guo Zhonghai'
> (Pdb) guarded_getattr(obj, name, _marker) == next
> True
> (Pdb) guarded_getattr(obj, name, _marker) is next
> False
> (Pdb) type(guarded_getattr(obj, name, _marker)), type(next)
> (<type 'str'>, <type 'str'>)
> (Pdb) id(guarded_getattr(obj, name, _marker))
> 46912619931440
> (Pdb) id(next)
> 46912619931720
>
> Thus, often string attributes will fail with this check.
>
> In my opinion the code should read:
>
>                             if not ok:
>                                 if (container is not None or
>                                     guarded_getattr(obj, name,  
> _marker)
> 					!= next):
>                                     raise Unauthorized(name)
>
>
> If you agree that his is a bug, I'll log it.
>
> -- 
> Roché Compaan
> Upfront Systems                   http://www.upfrontsystems.co.za
>
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev at zope.org
> http://mail.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope )

--
Anything that, in happening, causes something else to happen,
causes something else to happen.  --Douglas Adams




More information about the Zope-Dev mailing list