From: | Ильясов Ян <ianilyasov(at)outlook(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Integer undeflow in fprintf in dsa.c |
Date: | 2024-02-20 11:28:03 |
Message-ID: | GV1P251MB1004E0D09D117D3CECF9256ECD502@GV1P251MB1004.EURP251.PROD.OUTLOOK.COM |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello hackers,
Using Svace* I think I've found a little bug in src/backend/utils/mmgr/dsa.c.
This bug is presented in REL_12_STABLE, REL_13_STABLE, REL_14_STABLE,
REL_15_STABLE, REL_16_STABLE and master. I see that it was introduced together
with dynamic shared memory areas in the commit 13df76a537cca3b8884911d8fdf7c89a457a8dd3.
I also see that at least two people have encountered this fprintf output.
(https://postgrespro.com/list/thread-id/2419512,
https://www.postgresql.org/message-id/15e9501170d.e4b5a3858707.3339083113985275726%40zohocorp.com)
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".
I believe that this is a mistake, and fprintf should print "at least 0 contiguous pages free"
in case i equals zero.
The patch that has a fix of this is attached.
* - https://svace.pages.ispras.ru/svace-website/en/
Kind regards,
Ian Ilyasov.
Juniour Software Developer at Postgres Professional
Attachment | Content-Type | Size |
---|---|---|
Integer_underflow_fix_in_fprintf_in_dsa_c_.patch | text/x-patch | 676 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2024-02-20 11:31:27 | Re: A new message seems missing a punctuation |
Previous Message | Robert Haas | 2024-02-20 11:27:02 | Re: Replace current implementations in crypt() and gen_salt() to OpenSSL |