Author: stas Date: Fri Feb 18 19:07:58 2005 New Revision: 154385 URL: http://svn.apache.org/viewcvs?view=rev&rev=154385 Log: new bugs
Modified: perl/modperl/trunk/todo/release Modified: perl/modperl/trunk/todo/release URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/todo/release?view=diff&r1=154384&r2=154385 ============================================================================== --- perl/modperl/trunk/todo/release (original) +++ perl/modperl/trunk/todo/release Fri Feb 18 19:07:58 2005 @@ -4,3 +4,17 @@ -- see also todo/api_status -- see also todo/release-checklist + +* need to review all the API methods that set string values + (e.g. server_admin) they all assign a pointer to the PV slot in the + perl scalar and if that scalar goes out of scope or changes, the + modified data will get corrupted. need to replace + val = (char *)SvPV_nolen(...); + with: + val = apr_pstrdup(pool, (char *)SvPV_nolen(...)); +but the problem with what pool is used is very delicate, for $s +methods it must be $s->pool and for $r methods, $r->pool, but some $r +methods try to modify server strings. like document_root, which I've +started to fix, but it's still broken (not sure what pool should be +used, $s->pool will mean a memory leak, $r->pool will still mean a +corrupted data).