[Bug 2921] fix compilation --with-ssl-engine

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Thu Oct 14 01:40:45 AEDT 2021


https://bugzilla.mindrot.org/show_bug.cgi?id=2921

Ahmed Sayeed <ahmedsayeed1982 at yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ahmedsayeed1982 at yahoo.com

--- Comment #5 from Ahmed Sayeed <ahmedsayeed1982 at yahoo.com> ---
$ cat test.c
        struct foo {
            int len; https://www.webb-dev.co.uk/category/computers/
            int items[];
        };

        struct foo *p;
    http://www.compilatori.com/category/technology/
        int main() {
            return 0;
        }
        $ gcc test.c -g -O0 -o test
http://www.acpirateradio.co.uk/category/computers/
        $ ./gdb -q -nx --data-directory=data-directory ./test -ex
'python gdb.parse_and_eval("p").type.target()["items"].type.range()'
        Reading symbols from ./test...
http://www-look-4.com/category/computers/
        /home/simark/src/binutils-gdb/gdb/gdbtypes.h:435:
internal-error: LONGEST dynamic_prop::const_val() const: Assertion
`m_kind == PROP_CONST' failed.
        A problem internal to GDB has been detected,
        further debugging may prove unreliable.
        Quit this debugging session? (y or n)
http://www.logoarts.co.uk/category/computers/

    This is because the Python code (typy_range) blindly reads the high
    bound of the type of `items` as a constant value.  Since it is a
http://www.iu-bloomington.com/category/computers/
    flexible array member, it has no high bound, the property is
undefined.
    Since commit 8c2e4e0689
https://komiya-dental.com/category/computers/ ("gdb: add accessors to
struct dynamic_prop"),
    the getters check that you are not getting a property value of the
wrong
    kind, so this causes a failed assertion.
http://www.slipstone.co.uk/category/computers/

    Fix it by checking if the property is indeed a constant value
before http://embermanchester.uk/category/computers/
    accessing it as such.  Otherwise, use 0.  This restores the
previous GDB
    behavior: because the structure was zero-initialized,
http://connstr.net/category/computers/  this is what was
    returned before.  But now this behavior is explicit and not
accidental.
    http://joerg.li/category/computers/
    Add a test, gdb.python/flexible-array-member.exp, that is derived
from
    gdb.base/flexible-array-member.exp.
http://www.jopspeech.com/category/computers/  It tests the same things,
but
    through the Python API.  It also specifically tests getting the
range
    from the various kinds
http://www.wearelondonmade.com/category/computers/ of flexible array
member types (AFAIK it wasn't
    possible to do the equivalent through the CLI).
https://waytowhatsnext.com/category/computers/

    gdb/ChangeLog:

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.


More information about the openssh-bugs mailing list