Re: Fix last unitialized memory warning

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: Fix last unitialized memory warning
Дата
Msg-id c1d63155-7ac7-90dc-2e82-12b97e497026@eisentraut.org
обсуждение исходный текст
Ответ на Re: Fix last unitialized memory warning  ("Tristan Partin" <tristan@neon.tech>)
Ответы Re: Fix last unitialized memory warning  ("Tristan Partin" <tristan@neon.tech>)
Список pgsql-hackers
On 19.07.23 19:15, Tristan Partin wrote:
> On Sun Jul 9, 2023 at 2:23 AM CDT, Peter Eisentraut wrote:
>> On 06.07.23 15:41, Tristan Partin wrote:
>> > On Thu Jul 6, 2023 at 3:21 AM CDT, Peter Eisentraut wrote:
>> >> On 05.07.23 23:06, Tristan Partin wrote:
>> >>> Thanks for following up. My system is Fedora 38. I can confirm 
>> this is
>> >>> still happening on master.
>> >>>
>> >>> $ gcc --version
>> >>> gcc (GCC) 13.1.1 20230614 (Red Hat 13.1.1-4)
>> >>> Copyright (C) 2023 Free Software Foundation, Inc.
>> >>> This is free software; see the source for copying conditions.  
>> There is NO
>> >>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
>> PURPOSE.
>> >>> $ meson setup build --buildtype=release
>> >>
>> >> This buildtype turns on -O3 warnings.  We have usually opted against
>> >> chasing warnings in -O3 level because there are often some
>> >> false-positive uninitialized variable warnings with every new 
>> compiler.
>> >>
>> >> Note that we have set the default build type to debugoptimized, for 
>> that
>> >> reason.
>> > > Good to know, thanks.
>> > > Regarding the original patch, do you think it is good to be applied?
>>
>> That patch looks reasonable.  But I can't actually reproduce the 
>> warning, even with gcc-13.  I do get the warning from plpgsql.  Can 
>> you show the warning you are seeing?
> 
> Here is the full warning that the original patch suppresses.

I was able to reproduce the warning now on Fedora.  I agree with the patch

-       PgBenchValue vargs[MAX_FARGS];
+       PgBenchValue vargs[MAX_FARGS] = { 0 };

I suggest to also do

  typedef enum
  {
-       PGBT_NO_VALUE,
+       PGBT_NO_VALUE = 0,

to make clear that the initialization value is meant to be invalid.

I also got the plpgsql warning that you showed earlier, but I couldn't 
think of a reasonable way to fix that.




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

Предыдущее
От: Richard Guo
Дата:
Сообщение: Re: postgres_fdw: wrong results with self join + enable_nestloop off
Следующее
От: Christoph Heiss
Дата:
Сообщение: Re: [PATCH] psql: Add tab-complete for optional view parameters