Re: Integer undeflow in fprintf in dsa.c

Поиск
Список
Период
Сортировка
От Daniel Gustafsson
Тема Re: Integer undeflow in fprintf in dsa.c
Дата
Msg-id DADF07F1-02BE-4B97-B8FD-EEC2AD02F999@yesql.se
обсуждение исходный текст
Ответ на Integer undeflow in fprintf in dsa.c  (Ильясов Ян <ianilyasov@outlook.com>)
Ответы Re: Integer undeflow in fprintf in dsa.c  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
> On 20 Feb 2024, at 12:28, Ильясов Ян <ianilyasov@outlook.com> wrote:

> ​fprintf(stderr,
>            "    segment bin %zu (at least %d contiguous pages free):\n",
>            i, 1 << (i - 1));
>
> In case i​ equals zero user will get "at least -2147483648 contiguous pages free".

That does indeed seem like an oversight.

> I believe that this is a mistake, and fprintf​ should print "at least 0 contiguous pages free"
> in case i​ equals zero.

The message "at least 0 contiguous pages free" reads a bit nonsensical though,
wouldn't it be preferrable to check for i being zero and print a custom message
for that case? Something like the below untested sketch?

+                       if (i == 0)
+                               fprintf(stderr,
+                                               "    segment bin %zu (no contiguous free pages):\n", i);
+                       else
+                               fprintf(stderr,
+                                               "    segment bin %zu (at least %d contiguous pages free):\n",
+                                               i, 1 << (i - 1));

--
Daniel Gustafsson




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

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: Replace current implementations in crypt() and gen_salt() to OpenSSL
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: logical decoding and replication of sequences, take 2