Thread
Commits
-
Fix not-quite-right string comparison in parse_jsonb_index_flags().
- 870ad6a59bbb 13.0 landed
-
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 -
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