Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-12311

Insufficient check for argument validity in JSON functions

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.2
    • Fix Version/s: 10.2.10
    • Component/s: JSON
    • Labels:
      None
    • Sprint:
      10.2.10

      Description

      Example is for JSON_LENGTH, probably other functions are similarly affected, please keep them consistent.

      JSON_LENGTH does some check on argument validity:

      10.2 (OK)

      MariaDB [test]> select json_length('{{');
      +-------------------+
      | json_length('{{') |
      +-------------------+
      |              NULL |
      +-------------------+
      1 row in set, 1 warning (0.00 sec)
       
      MariaDB [test]> show warnings;
      +---------+------+---------------------------------------------------------------------------------+
      | Level   | Code | Message                                                                         |
      +---------+------+---------------------------------------------------------------------------------+
      | Warning | 4038 | Syntax error in JSON text in argument 1 to function 'json_length' at position 2 |
      +---------+------+---------------------------------------------------------------------------------+
      1 row in set (0.00 sec)
      

      But it does not notice obvious problems in the argument:

      10.2 (not OK)

      MariaDB [test]> select json_length('{}{');
      +--------------------+
      | json_length('{}{') |
      +--------------------+
      |                  0 |
      +--------------------+
      1 row in set (0.00 sec)
      

      MySQL provides decent diagnostics:

      MySQL 5.7

      MySQL [test]> select json_length('{}{');
      ERROR 3141 (22032): Invalid JSON text in argument 1 to function json_length: "The document root must not follow by other values." at position 2.
      

        Attachments

          Activity

            People

            Assignee:
            holyfoot Alexey Botchkov
            Reporter:
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Git Integration