pgsql: Fix dereference in a couple of GUC check hooks

Поиск
Список
Период
Сортировка
От Álvaro Herrera
Тема pgsql: Fix dereference in a couple of GUC check hooks
Дата
Msg-id E1w540B-001FxS-0s@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix dereference in a couple of GUC check hooks

check_backtrace_functions() and check_archive_directory() were doing an
empty-string check this way:
    *newval[0] == '\0'
which, because of operator precedence, is interpreted as *(newval[0])
instead of (*newval)[0] -- but these variables are pointers to C-strings
and we want to check the first character therein, rather than check the
first pointer of the array, so that interpretation is wrong.  This would
be wrong for any index element other than 0, as evidenced by every other
dereference of the same variable in check_backtrace_functions, which use
parentheses.

Add parentheses to make the intended dereference explicit.

This is just cosmetic at this stage, so no backpatch, although it's been
"wrong" for a long time.

Author: Zhang Hu <kongbaik228@gmail.com>
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Reviewed-by: Chao Li <lic@highgo.com>
Discussion: https://postgr.es/m/CAB5m2QssN6UO+ckr6ZCcV0A71mKUB6WdiTw1nHo43v4DTW1Dfg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5f2350a043db08ab0ea48d22f51acfa5d9b374d9

Modified Files
--------------
contrib/basic_archive/basic_archive.c | 2 +-
src/backend/utils/error/elog.c        | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)


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