diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2020-01-31 17:26:40 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2020-01-31 17:26:40 -0500 |
commit | 870ad6a59bbbd95c2dc3cfe67b07d0e079599edf (patch) | |
tree | 74f0a8f897d841d78d329de9988ac34289edb53d /src/backend/utils/adt/jsonfuncs.c | |
parent | 74b35eb468dcf353e25afd4acfc7ee2b2022d6b6 (diff) | |
download | postgresql-870ad6a59bbbd95c2dc3cfe67b07d0e079599edf.tar.gz postgresql-870ad6a59bbbd95c2dc3cfe67b07d0e079599edf.zip |
Fix not-quite-right string comparison in parse_jsonb_index_flags().
This code would accept "strinX", where X is any 1-byte character,
as meaning "string". Clearly it wasn't meant to do that.
No back-patch, since this doesn't affect correct queries and
there's some tiny chance we'd break somebody's incorrect query
in a minor release.
Report and patch by Dominik Czarnota.
Discussion: https://postgr.es/m/CABEVAa1dU0mDCAfaT8WF2adVXTDsLVJy_izotg6ze_hh-cn8qQ@mail.gmail.com
Diffstat (limited to 'src/backend/utils/adt/jsonfuncs.c')
-rw-r--r-- | src/backend/utils/adt/jsonfuncs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c index 4f6fd0de023..6e33dfb2a2b 100644 --- a/src/backend/utils/adt/jsonfuncs.c +++ b/src/backend/utils/adt/jsonfuncs.c @@ -5125,7 +5125,7 @@ parse_jsonb_index_flags(Jsonb *jb) pg_strncasecmp(v.val.string.val, "key", 3) == 0) flags |= jtiKey; else if (v.val.string.len == 6 && - pg_strncasecmp(v.val.string.val, "string", 5) == 0) + pg_strncasecmp(v.val.string.val, "string", 6) == 0) flags |= jtiString; else if (v.val.string.len == 7 && pg_strncasecmp(v.val.string.val, "numeric", 7) == 0) |