1. 22 Mar, 2018 4 commits
  2. 21 Mar, 2018 5 commits
  3. 20 Mar, 2018 17 commits
  4. 19 Mar, 2018 7 commits
    • Jacob Mathew's avatar
      MDEV-10991: Server crashes in spider_udf_direct_sql_create_conn - tests in... · 7cf2428d
      Jacob Mathew authored
      MDEV-10991: Server crashes in spider_udf_direct_sql_create_conn - tests in spider/oracle* suites crash the server
      
      The crash occurs due to code that is #ifdef'd out with HAVE_ORACLE_OCI that
      pertains to the use of Spider with an Oracle data tier. Enabling this code
      eliminates the crash.
      
      The reason that MariaDB needs to support Oracle storage at the data tier is
      to help customers migrate from Oracle. It is necessary to build Spider with
      the additional build flag -DHAVE_ORACLE_OCI, and install and start Oracle
      before running the Oracle test suite or any tests within it. Nevertheless,
      if Spider is built normally and Oracle has not been started, these tests
      should not cause the MariaDB server to crash. The bug fix replaces the
      crash with the following error:
        ERROR 12501 (HY000) at line 4: The connect info 'ORACLE' is invalid
      
      Author:
        Jacob Mathew.
      
      Reviewer:
        Kentoku Shiba.
      7cf2428d
    • Vicențiu Ciorbaru's avatar
      Merge branch '10.0-galera' into 10.1 · 24b35316
      Vicențiu Ciorbaru authored
      24b35316
    • Eugene Kosov's avatar
      MDEV-15030 Add ASAN instrumentation · 75c76dbb
      Eugene Kosov authored
      Learn both valgrind and asan to catch this bug:
      
        mem_heap_t* heap = mem_heap_create(1024);
        byte* p = reinterpret_cast<byte*>(heap) + sizeof(mem_heap_t);
        *p = 123;
      
      Overflows of the last allocation in a block will be catched too.
      
      mem_heap_create_block(): poison newly allocated memory
      75c76dbb
    • Alexander Barkov's avatar
      MDEV-15005 ASAN: stack-buffer-overflow in my_strnncollsp_simple · f538a648
      Alexander Barkov authored
      cmp_item_sort_string::store_value() did not cache the string returned
      from item->val_str(), whose result can point to various private members
      such as Item_char_typecast::tmp_value.
      
      - cmp_item_sort_string::store_value() remembered the pointer returned
        from item->val_str() poiting to tmp_value into cmp_item_string::value_res.
      - Later, cmp_item_real::store_value() was called, which called
        Item_str_func::val_real(), which called Item_char_typecast::val_str(&tmp)
        using a local stack variable "String tmp". Item_char_typecast::tmp_value
        was overwritten and become a link to "tmp":
        tmp_value.Ptr freed its own buffer and set to point to the buffer
        owned by "tmp".
      - On return from Item_str_func::val_real(), "String tmp" was destructed,
        but "tmp_value" still pointed to the buffer owned by "tmp",
        So tmp_value.Ptr became invalid.
      - Then cmp_item_sort_string() passed cmp_item_string::value_res to sortcmp().
        At this point, value_res still pointed to an invalid value of
        Item_char_typecast::tmp_value.
      
      Fix:
      changing cmp_item_sort_string::store_value() to force copying
      to cmp_item_string::value if item->val_str(&value) returned
      a different pointer (instead of &value).
      f538a648
    • Jan Lindström's avatar
      MDEV-13549: Galera test failures · 31e2ab51
      Jan Lindström authored
      Fix test failure on galera_flush_local.
      31e2ab51
    • Jan Lindström's avatar
      MDEV-13549: Galera test failures · f46155a3
      Jan Lindström authored
      Fix test failure on galera_concurrent_ctas
      f46155a3
    • Jan Lindström's avatar
      MDEV-14875: galera_new_cluster crashes mysqld when existing server contains databases · e5e83249
      Jan Lindström authored
          Fortify wsrep_hton so that wsrep calls are not done to NULL-pointers.
      e5e83249
  5. 17 Mar, 2018 1 commit
    • Varun Gupta's avatar
      MDEV-6736: Valgrind warnings 'Invalid read' in... · e3dd9a95
      Varun Gupta authored
      MDEV-6736: Valgrind warnings 'Invalid read' in subselect_engine::calc_const_tables with SQ in WHERE and
                 HAVING, ORDER BY, materialization+semijoin
      
      During cleanup a pointer to the materialised table that was freed was not set to NULL
      e3dd9a95
  6. 16 Mar, 2018 4 commits
  7. 15 Mar, 2018 2 commits
    • Marko Mäkelä's avatar
      Follow-up to MDEV-11236/MDEV-14846 debug assertion · dbb3960a
      Marko Mäkelä authored
      ha_innobase::unlock_row(): Use a relaxed version of the
      trx_state_eq() debug assertion, because rr_unlock_row()
      may be invoked after an error has been already reported
      and the transaction has been rolled back.
      dbb3960a
    • Marko Mäkelä's avatar
      lock_table_create(), lock_rec_create(): Clean up the WSREP code · 723f87e9
      Marko Mäkelä authored
      By definition, c_lock->trx->lock.wait_lock==c_lock cannot hold.
      That is, the owner transaction of a lock cannot be waiting for that
      particular lock. It must have been waiting for some other lock.
      Remove the dead code related to that. Also, test c_lock for NULLness
      only once.
      723f87e9