Description
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.)