https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110198

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Benjamin Priour <vultk...@gcc.gnu.org>:

https://gcc.gnu.org/g:1eb90f46c16453f72dc119ba20b07053a15b452d

commit r14-2203-g1eb90f46c16453f72dc119ba20b07053a15b452d
Author: benjamin priour <priour...@gmail.com>
Date:   Thu Jun 22 21:39:05 2023 +0200

    analyzer: Fix regression bug after r14-1632-g9589a46ddadc8b [PR110198]

    g++.dg/analyzer/PR100244.C was failing after a patch of PR109439.
    The reason was a spurious preemptive return of get_store_value upon
    out-of-bounds read that was preventing further checks. Now instead,
    a boolean value check_poisoned goes to false when a OOB is detected,
    and is later on given to get_or_create_initial_value.

    gcc/analyzer/ChangeLog:
            PR analyzer/110198
            * region-model-manager.cc
            (region_model_manager::get_or_create_initial_value): Take an
            optional boolean value to bypass poisoning checks
            * region-model-manager.h: Update declaration of the above function.
            * region-model.cc (region_model::get_store_value): No longer
returns
            on OOB, but rather gives a boolean to get_or_create_initial_value.
            (region_model::check_region_access): Update docstring.
            (region_model::check_region_for_write): Update docstring.

    Signed-off-by: benjamin priour <priour...@gmail.com>

Reply via email to