[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Question regarding the XML parser binding in PIL
- From: Florian Weimer <fw@...>
- Date: Fri, 21 Nov 2008 18:36:55 +0100
* Sam Roberts:
>> Suppose the XML parser object is passed to some other library which
>> uses it some time later, in response to a different call (possibly
>> from Lua code). This would trigger the callbacks without a call to
>
> That call was made from lua code. So it has a lua_State pointer, L...
>
>> lxp_parse on the callstack, which means that the L pointer could be
>> invalid.
>
> which it would pass to lxp_parse.
Let's assume that expat's XML_Parse function is called directly. Then
the L in the userdata object is not updated and may have become
invalid (if it's not from the master state, for example).
It might sound a bit silly for expat, but for other cases (like
user-defined functions in SQLite) it's not that far-fetched, IMHO.