Re: Help with PHP Extension

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10.09.2022 at 18:04, Ciaran Moore wrote:

> I'm not sure where else to turn with this. It says something about a
> problem when you post a question on StackOverflow and it gets zero
> responses in over a week.
>
> I have been learning extension development, and have managed to build
> the extension to do what I want and how I want it, until I try to
> implement the Iterator. I don't know what it is about the data being
> returned but I keep getting segmentation faults on the return *zval
> for current data.
>
> This is a link to the StackOverflow question I posted which goes into
> more detail about what is happening when the SIGSEGV is thrown.
>
> https://stackoverflow.com/questions/73542769/segmentation-fault-zval-str-when-accessing-current-data-in-iterator
>
> This also includes a link to a Github Repo I created to give a full
> view of the extension and not rely on just posting snippets here and
> there on the post.
>
> Any help or guidance with this would be greatly appreciated.

The problem is that `data` points to uninitialized memory.  You need to
actually have a `zval` somewhere, which is usually in the
`php_sparsehashmap_iterator_t` structure.  See, for instance, how that
is done in ext/com_dotnet/com_iterator.c.  The `zdata` member is set on
initialization and whenever the iterator is moved, and then simply
returned on `get_current_data()`.

--
Christoph M. Becker




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux