Thread

Commits

  1. Fix not-quite-right string comparison in parse_jsonb_index_flags().

  1. PATCH: Fix wrong size argument to pg_strncasecmp

    Dominik Czarnota <dominik.b.czarnota@gmail.com> — 2020-01-31T03:18:09Z

    Hello,
    
    Please find a one-liner patch in the attachment.
    
    This patch fixes a size parameter of `pg_strncasecmp` which compared a
    "string" literal with a variable by passing a size of 5 while the "string"
    literal has 6 bytes.
    
    This issue can be observed with the following query (where 'X' is any
    character other than 'g' and null byte):
    
        select json_to_tsvector('"abc"'::json, '"strinX"')
    
    Before this patch this query returns the `'abc':1` result instead of
    failing with the following error:
    
        wrong flag in flag array: "strinX"
    
    By the way, the `strncasecmp` usages around the fixed line could use
    `strcasecmp` which doesn't accept the `size_t n` argument.
    
    ---
    Regards,
    Disconnect3d
    
  2. Re: PATCH: Fix wrong size argument to pg_strncasecmp

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-01-31T22:28:16Z

    Dominik Czarnota <dominik.b.czarnota@gmail.com> writes:
    > This patch fixes a size parameter of `pg_strncasecmp` which compared a
    > "string" literal with a variable by passing a size of 5 while the "string"
    > literal has 6 bytes.
    
    Pushed, thanks for the report!
    
    > By the way, the `strncasecmp` usages around the fixed line could use
    > `strcasecmp` which doesn't accept the `size_t n` argument.
    
    Maybe.  It's not clear to me that it's be okay to assume that the
    variable input string is null-terminated.
    
    			regards, tom lane