Potential us of initialized memory in xlogrecovery.c

Поиск
Список
Период
Сортировка
От Tristan Partin
Тема Potential us of initialized memory in xlogrecovery.c
Дата
Msg-id CT5MN8E11U0M.1NYNCHXYUHY41@gonk
обсуждение исходный текст
Ответы Re: Potential us of initialized memory in xlogrecovery.c  (Heikki Linnakangas <hlinnaka@iki.fi>)
Список pgsql-hackers
Hello,

Today, I compiled the master branch of Postgres with the following GCC
version:

gcc (GCC) 13.1.1 20230511 (Red Hat 13.1.1-2)

I got the following warning:

[701/2058] Compiling C object src/backend/postgres_lib.a.p/access_transam_xlogrecovery.c.o
In function ‘recoveryStopsAfter’,
    inlined from ‘PerformWalRecovery’ at ../src/backend/access/transam/xlogrecovery.c:1749:8:
../src/backend/access/transam/xlogrecovery.c:2756:42: warning: ‘recordXtime’ may be used uninitialized
[-Wmaybe-uninitialized]
 2756 |                         recoveryStopTime = recordXtime;
      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
../src/backend/access/transam/xlogrecovery.c: In function ‘PerformWalRecovery’:
../src/backend/access/transam/xlogrecovery.c:2647:21: note: ‘recordXtime’ was declared here
 2647 |         TimestampTz recordXtime;
      |                     ^~~~~~~~~~~

Investigating this issue I see a potential assignment in
xlogrecovery.c:2715. Best I can tell the warning looks real. Similar
functions in this file seem to initialize recordXtime to 0. Attached is
a patch which does just that.

--
Tristan Partin
Neon (https://neon.tech)

Вложения

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

Предыдущее
От: Evan Jones
Дата:
Сообщение: Re: [PATCH] pg_regress.c: Fix "make check" on Mac OS X: Pass DYLD_LIBRARY_PATH
Следующее
От: Rômulo Coutinho
Дата:
Сообщение: ERROR: could not determine which collation to use for string comparison