diff options
author | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2022-12-29 17:34:53 +0530 |
---|---|---|
committer | Rucha Deodhar <rucha.deodhar@mariadb.com> | 2022-12-29 17:34:53 +0530 |
commit | 1be914eebd3643ef7f428cf27434675e757ec35f (patch) | |
tree | b21cc5223d546b07406a62ede1e9f247d69695d3 /strings/json_lib.c | |
parent | 5bb2cc8dbcfba3aa1e19a0b0d7ffcf27eed3290e (diff) | |
download | mariadb-git-bb-10.9-MDEV-29381.tar.gz |
MDEV-29381: JSON paths containing dashes are reported as syntax errors inbb-10.9-MDEV-29381
procedures
Analysis:
While scanning json path, when '-' is encountered while scanning a key,
the the json_path_transition reports incorrect state that denotes
syntax error. Hence it incorrectly reports error.
Fix:
Change JE_SYN to PS_KNMX to keep scanning the key.
Diffstat (limited to 'strings/json_lib.c')
-rw-r--r-- | strings/json_lib.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/strings/json_lib.c b/strings/json_lib.c index 380959cf204..8febbe75e4c 100644 --- a/strings/json_lib.c +++ b/strings/json_lib.c @@ -1111,7 +1111,7 @@ static int json_path_transitions[N_PATH_STATES][N_PATH_CLASSES]= /* KEYX*/ { JE_EOS, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, JE_SYN, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_ESCX, PS_EKYX, PS_KNMX, JE_NOT_JSON_CHR, JE_BAD_CHR}, -/* KNMX */{ JE_EOS, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, JE_SYN, +/* KNMX */{ JE_EOS, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_KNMX, PS_ESCX, PS_EKYX, PS_KNMX, JE_NOT_JSON_CHR, JE_BAD_CHR}, /* LAST */{ JE_SYN, JE_SYN, JE_SYN, JE_SYN, JE_SYN, PS_PT, JE_SYN, PS_NEG, |