Thread
Commits
-
Fix inappropriate uses of PG_GETARG_UINT32()
- e9e63b7022dd 15.0 landed
-
Fix inappropriate uses of PG_GETARG_UINT32()
Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2021-12-01T18:26:45Z
I noticed that the chr() function uses PG_GETARG_UINT32() to get its argument, even though the argument is a (signed) int. So you get some slightly silly behavior like this: => select chr(-333); ERROR: 54000: requested character too large for encoding: -333 The attached patch fixes this by accepting the argument using PG_GETARG_INT32(), doing some checks, and then casting it to unsigned for the rest of the code. The patch also fixes another inappropriate use in an example in the documentation. These two were the only inappropriate uses I found, after we had fixed a few recently.
-
Re: Fix inappropriate uses of PG_GETARG_UINT32()
Nathan Bossart <bossartn@amazon.com> — 2021-12-01T21:59:24Z
On 12/1/21, 10:29 AM, "Peter Eisentraut" <peter.eisentraut@enterprisedb.com> wrote: > The attached patch fixes this by accepting the argument using > PG_GETARG_INT32(), doing some checks, and then casting it to unsigned > for the rest of the code. > > The patch also fixes another inappropriate use in an example in the > documentation. These two were the only inappropriate uses I found, > after we had fixed a few recently. LGTM Nathan
-
Re: Fix inappropriate uses of PG_GETARG_UINT32()
Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2021-12-06T12:47:35Z
On 01.12.21 22:59, Bossart, Nathan wrote: > On 12/1/21, 10:29 AM, "Peter Eisentraut" <peter.eisentraut@enterprisedb.com> wrote: >> The attached patch fixes this by accepting the argument using >> PG_GETARG_INT32(), doing some checks, and then casting it to unsigned >> for the rest of the code. >> >> The patch also fixes another inappropriate use in an example in the >> documentation. These two were the only inappropriate uses I found, >> after we had fixed a few recently. > > LGTM committed