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

Fix jl_gc_internal_obj_base_ptr #50231

Merged

Commits on Jun 20, 2023

  1. Fix jl_gc_internal_obj_base_ptr

    The function `jl_gc_internal_obj_base_ptr` takes a pointer and tries to
    determine if it is a valid object pointer. As such it has to carefully
    validate all data it reads, and abort whenever there are obvious
    inconsistencies.
    
    This patch adds a check which aborts when `meta->osize` is zero, just
    before we perform a division-with-remainder by this value, thus avoiding
    a potential division-by-zero exception. This fixes a crash we are seeing
    in our code.
    
    The crash did not happen before PR JuliaLang#49644 was merged because back then
    there was a check for `meta->ages` not being zero, which apparently was
    enough to detect invalid values for `meta` (e.g. when `meta` points into
    a null page).
    fingolfin committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    ece7c42 View commit details
    Browse the repository at this point in the history