| Nicolas Lehuen (JIRA) 2005-12-10, 7:45 am |
| [ http://issues.apache.org/jira/brows...action_12360041 ]
Nicolas Lehuen commented on MODPYTHON-99:
-----------------------------------------
Modifying util.c so that tuple_from_array_header and tuple_from_method_list return an empty tuple instead of None fixes the problem, but I still have t(o check whether this change won't break anything else.
> accessing some request or server object members causes a segfault
> -----------------------------------------------------------------
>
> Key: MODPYTHON-99
> URL: http://issues.apache.org/jira/browse/MODPYTHON-99
> Project: mod_python
> Type: Bug
> Components: core
> Versions: 3.2
> Reporter: Jim Gallacher
> Priority: Critical
> Attachments: md-20051209.diff
>
> Martin Devara discovered a segfault when accessing some request object members. For example:
> def handler(req):
> req.content_type = "text/plain"
> req.write("EE\n")
> a = getattr(req,"allowed_methods");
> return apache.OK
> Futher investigation revealed problems with several getter functions in requestobject.c and serverobject.c. The root of the problem seems to be pointer dereferencing errors in the getter code. The affected functions and the members which use them are:
> src/requestobject.c
> getreq_rec_ml
> allowed_methods
> getreq_rec_ah
> content_languages
> allowed_xmethods
> src/serverobject.c
> getsrv_recmbr_ah
> names
> wild_names
> Martin has provided a patch to fix the bug.
> (Thanks to Martin for tracking this down and providing the fix.)
|