public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug exp/30404] New: Incorrect evaluation of sizeof(*pointer) for structure with zero length array
@ 2023-04-29 11:19 mockbutler at gmail dot com
  0 siblings, 0 replies; only message in thread
From: mockbutler at gmail dot com @ 2023-04-29 11:19 UTC (permalink / raw)
  To: gdb-prs

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

            Bug ID: 30404
           Summary: Incorrect evaluation of sizeof(*pointer) for structure
                    with zero length array
           Product: gdb
           Version: 12.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: exp
          Assignee: unassigned at sourceware dot org
          Reporter: mockbutler at gmail dot com
  Target Milestone: ---

Created attachment 14856
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14856&action=edit
Use with gdb to demonstrate bug.

When the last element of a C language struct is a zero length array, the
evaluation of sizeof(*(struct S*)pointer) does not match sizeof(struct S).

> Breakpoint 1, fn (ps=0x7fffffffe250) at demo-sizeof-bug.c:15
> 15              printf("ps = %p\n", ps);
> (gdb) p sizeof(*ps)
> $1 = 7
> (gdb) p sizeof(struct S)
> $2 = 8
> (gdb) ptype/o *ps
> /* offset      |    size */  type = struct S {
> /*      0      |       4 */    int32_t f1;
> /*      4      |       2 */    int16_t f2;
> /*      6      |       1 */    int8_t f3;
> /*      7      |       0 */    int8_t f4[];
>                              /* total size (bytes):    7 */

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-04-29 11:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-29 11:19 [Bug exp/30404] New: Incorrect evaluation of sizeof(*pointer) for structure with zero length array mockbutler at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).