avoid segfault on OpenBSD by not accessing array at index -1 #2097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I have encountered reproducible segfaults on OpenBSD's love (version 11.5) when using it to run the game Arco, occurring some way into the second act in the NPC party member inventory:
Adding debug symbols showed it happening at https://github.com/love2d/love/blob/main/src/modules/graphics/Polyline.cpp#L105. When I add a printf right above the line, it reveals that this happens when
vertex_count
is0
, so this tries to accessvertices[-1]
in that case.With the diff in this PR that checks that
vertex_count
is greater than0
, I've run Arco without any recurrence of the issue, and no new issues with graphics rendering or other. No issues with a few other love 11.5 games that I tested it with either.I am not sure about the logic behind
vertices
andvertex_count
, so would appreciate a look if this is correct to avoid the array access with negative index...