Re: Likely undefined behavior with some flexible arrays

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Likely undefined behavior with some flexible arrays
Дата
Msg-id 2432554.1769033224@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Likely undefined behavior with some flexible arrays  (Andres Freund <andres@anarazel.de>)
Ответы Re: Likely undefined behavior with some flexible arrays
Список pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> I got a - I thought - spurious warning in a development patch. A simplified
> reproducer of the warning is [1], which triggers:

> <source>: In function 'trigger_warning':
> <source>:19:9: warning: array subscript 'struct foo[0]' is partly outside array bounds of 'unsigned char[13]'
[-Warray-bounds=]
>    19 |     foop->len = len;
>       |         ^~
> <source>:18:12: note: object of size 13 allocated by 'allocme'
>    18 |     foop = allocme(offsetof(struct foo, data) + sizeof(char) * len);
>       |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Compiler returned: 0

Considering that palloc() is going to round up the request to a
maxalign boundary, I think the chances of actual trouble are
precisely zero.  However, if we start getting such warnings on
common compilers, maybe the way to fix it is to put the maxaligns
into the calls?

            regards, tom lane



В списке pgsql-hackers по дате отправления: