| Jim Gallacher (JIRA) 2005-12-10, 5:46 pm |
| [ http://issues.apache.org/jira/brows...action_12360048 ]
Jim Gallacher commented on MODPYTHON-99:
----------------------------------------
The req.allowed_xmethods, req.allowed_methods documentation states that these are a tuples. It seems req.content_languages, server.names, server.wild_names are undocumented.
I don't have mod_python 3.1.4 handy to test but certainly the relavent code has not changed since then. If the problem existed there then I don't think we need to worry about changing the return type since nobody would have been able to access these membe
rs anyway.
> 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.)
|