diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/main/func_json.result | 37 | ||||
-rw-r--r-- | mysql-test/main/func_json.test | 25 |
2 files changed, 60 insertions, 2 deletions
diff --git a/mysql-test/main/func_json.result b/mysql-test/main/func_json.result index da8cb3008bf..8b4c98ae9fd 100644 --- a/mysql-test/main/func_json.result +++ b/mysql-test/main/func_json.result @@ -3344,9 +3344,9 @@ SET @invalid_schema= '{"type":"object" }'; SELECT JSON_SCHEMA_VALID(@invalid_schema, '{"number1":3, "obj2":{"key1":3}}'); JSON_SCHEMA_VALID(@invalid_schema, '{"number1":3, "obj2":{"key1":3}}') -1 +NULL Warnings: -Warning 4038 Syntax error in JSON text in argument 2 to function 'json_schema_valid' at position 45 +Warning 4038 Syntax error in JSON text in argument 1 to function 'json_schema_valid' at position 45 SET @invalid_json= '{"type":"array", "maxItems": 4, "minItems": 2, @@ -4557,4 +4557,37 @@ JSON_SCHEMA_VALID(@schema_pattern_properties, '{"i_": 50}') SELECT JSON_SCHEMA_VALID(@schema_pattern_properties, '{"i_": 150}'); JSON_SCHEMA_VALID(@schema_pattern_properties, '{"i_": 150}') 1 +# +# MDEV-30690: Server crashed on function JSON_SCHEMA_VALID with incorrect input json schema +# +SET @schema = '{""}'; +SELECT JSON_SCHEMA_VALID(@schema, '1'); +JSON_SCHEMA_VALID(@schema, '1') +NULL +Warnings: +Warning 4037 Unexpected end of JSON text in argument 1 to function 'json_schema_valid' +SET @schema = '{ + "type": "string", + "format" + }'; +SELECT JSON_SCHEMA_VALID(@schema, '1'); +JSON_SCHEMA_VALID(@schema, '1') +NULL +Warnings: +Warning 4037 Unexpected end of JSON text in argument 1 to function 'json_schema_valid' +SET @invalid_schema= '{"type":"object" + "properties":{ + "number1": {"type":"number"}, + "obj2": {"type":"object", + "properties": { + "key1": {"type":"number"} + } + } + } + }'; +SELECT JSON_SCHEMA_VALID(@invalid_schema, '{"number1":3, "obj2":{"key1":3}}'); +JSON_SCHEMA_VALID(@invalid_schema, '{"number1":3, "obj2":{"key1":3}}') +NULL +Warnings: +Warning 4038 Syntax error in JSON text in argument 1 to function 'json_schema_valid' at position 45 # End of 11.1 test diff --git a/mysql-test/main/func_json.test b/mysql-test/main/func_json.test index 4a400f1de90..c417a8ea4f8 100644 --- a/mysql-test/main/func_json.test +++ b/mysql-test/main/func_json.test @@ -3449,4 +3449,29 @@ SELECT JSON_SCHEMA_VALID(@schema_pattern_properties, '{"I_": 150}'); SELECT JSON_SCHEMA_VALID(@schema_pattern_properties, '{"i_": 50}'); SELECT JSON_SCHEMA_VALID(@schema_pattern_properties, '{"i_": 150}'); +--echo # +--echo # MDEV-30690: Server crashed on function JSON_SCHEMA_VALID with incorrect input json schema +--echo # + +SET @schema = '{""}'; +SELECT JSON_SCHEMA_VALID(@schema, '1'); + +SET @schema = '{ + "type": "string", + "format" + }'; +SELECT JSON_SCHEMA_VALID(@schema, '1'); + +SET @invalid_schema= '{"type":"object" + "properties":{ + "number1": {"type":"number"}, + "obj2": {"type":"object", + "properties": { + "key1": {"type":"number"} + } + } + } + }'; +SELECT JSON_SCHEMA_VALID(@invalid_schema, '{"number1":3, "obj2":{"key1":3}}'); + --echo # End of 11.1 test |