Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle NSException with nil reason #21

Merged

Conversation

jaysoffian
Copy link
Contributor

NSException instances may have a nil reason, causing
plcrash_log_writer_set_exception() to pass NULL to strdup(). The NULL
param in turn is passed to strlen(), which then generates a
EXC_BAD_ACCESS inside libsystem_c.dylib. This deadlocks the process.

Handle a nil reason by replacing it with an empty string. Note that
we have to strdup() an empty string since uncaught_exception.reason
is later free()'d.

NSException instances may have a nil reason, causing
plcrash_log_writer_set_exception() to pass NULL to strdup(). The NULL
param in turn is passed to strlen(), which then generates a
EXC_BAD_ACCESS inside libsystem_c.dylib. This deadlocks the process.

Handle a nil reason by replacing it with an empty string. Note that
we have to strdup() an empty string since uncaught_exception.reason
is later free()'d.
MatkovIvan added a commit that referenced this pull request Oct 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants