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

Crash with LOAD XML and non-updatable VIEW column

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.1, 10.2, 10.3
    • Fix Version/s: 10.2.6
    • Component/s: OTHER
    • Labels:

      Description

      I dump some data into an XML file:

      mysql --xml -e "SELECT 'test' AS c1" >/tmp/dump.xml
      

      Now I create table and a view with a non-updatable column:

      CREATE OR REPLACE TABLE t1 (c1 TEXT);
      CREATE OR REPLACE VIEW v1 AS SELECT CONCAT(c1,'') AS c1 FROM t1;
      

      And try to load data into it:

      LOAD XML INFILE '/tmp/dump.xml' INTO TABLE v1 (c1);
      

      The server crashed, either immediately, or on the next query.

      The crash happens because read_xml_field casts item to Item_user_var_as_out_param without checking for proper Item type, in these two places:

              else
                ((Item_user_var_as_out_param *) item)->set_null_value(cs);
      ...
            else
              ((Item_user_var_as_out_param *) item)->set_value(
                                                       (char *) tag->value.ptr(), 
                                                       tag->value.length(), cs);
      

        Attachments

          Activity

            People

            Assignee:
            bar Alexander Barkov
            Reporter:
            bar Alexander Barkov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: