Thread

Commits

  1. Fix inappropriate uses of PG_GETARG_UINT32()

  1. 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.
  2. 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
    
    
  3. 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