https://sourceware.org/bugzilla/show_bug.cgi?id=34387

Mark Wielaard <mark at klomp dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at klomp dot org
         Resolution|---                         |FIXED
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Mark Wielaard <mark at klomp dot org> ---
Thanks. Looks like we have two issues. First dwarf_next_cfi didn't check limit
for 'R'. And second intern_new_cie parsed the CIE data slightly differently. It
should have first checked for 'z' to see if there was augmentation data and
then it should only read any augmentation data if it was really there.

commit 6c801dd7eab537940d454cf6d4772f5aa3038bc4
Author: Mark Wielaard <[email protected]>
Date:   Sat Jul 11 16:35:56 2026 +0200

    libdw: Only read CIE augmentation data if it is there

    dwarf_next_cfi and intern_new_cie used slightly different methods
    parsing the CIE augmentation data. Make sure both only read
    augmentation data when it is there.

            * libdw/cie.c (intern_new_cie): Check 'z' is the first char of
            the augmentation. Only read augmentation data if
            cie->sized_augmentation_data is set.
            * libdw/dwarf_next_cfi.c (dwarf_next_cfi): Check limit for 'R'.

    https://sourceware.org/bugzilla/show_bug.cgi?id=34387

    Reported-by: Karan Kurani <[email protected]>
    Signed-off-by: Mark Wielaard <[email protected]>

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to