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

Invalid write of size 8 in SEL_ARG::store_min_key, find_used_partitions

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.0.23
    • Fix Version/s: 10.0.24
    • Component/s: Optimizer
    • Labels:
      None

      Description

      Bug found by Michael Widenius:

      --source include/have_partition.inc
       
      create table t1 (a int, b char(10), c varchar(5), d int)
      partition by range columns(a,b,c)
      subpartition by key (c,d)
      subpartitions 3
      ( partition p0 values less than (1,'abc','abc'),
        partition p1 values less than (2,'abc','abc'),
        partition p2 values less than (3,'abc','abc'),
        partition p3 values less than (4,'abc','abc'));
       
      insert into t1 values (1,'a','b',1),(2,'a','b',2),(3,'a','b',3);
      select * from t1 where (a = 1 AND b < 'd' AND (c = 'b' OR (c = 'c' AND d = 1)) OR
                             (a = 1 AND b >= 'a' AND (c = 'c' OR (c = 'd' AND d = 2))));
      drop table t1;

      Causes a memory overrun in SEL_ARG::store_min_key, find_used_partitions.
      The overrun is detected and reported by valgrind.

        Attachments

          Activity

            People

            Assignee:
            psergey Sergei Petrunia
            Reporter:
            psergey Sergei Petrunia
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: