Skip to content

Conversation

@ndossche
Copy link
Member

When type == 2, the zval is not initialized, so zval_ptr_dtor() on it will crash.
Unfortunately couldn't test with property_exists() or Reflection because they have fast paths that go through the property info, but fortunately there are paths that don't implement a fast path (e.g. because it doesn't make sense at that point), like with array_column(). So we use array_column() to trigger the crash.

When type == 2, the zval is not initialized, so zval_ptr_dtor() on it
will crash.
Unfortunately couldn't test with property_exists() or Reflection because
they have fast paths that go through the property info, but fortunately
there are paths that don't implement a fast path (e.g. because it
doesn't make sense at that point), like with array_column().
So we use array_column() to trigger the crash.
Copy link
Member

@devnexen devnexen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

undoubtedly correct

@devnexen
Copy link
Member

nit: feel free to use appropriate ZEND_PROPERTY_* constants on master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants