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