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

MSAN use-of-uninitialized-value in decode_bytes()

    XMLWordPrintable

    Details

      Description

      The test main.myisampack is failing as follows:

      10.5 d8ea11a33fba12331c98c04ff44c815a662faccb

      main.myisampack                          w1 [ fail ]
              Test ended at 2020-05-25 11:16:20
       
      CURRENT_TEST: main.myisampack
      ==401784==WARNING: MemorySanitizer: use-of-uninitialized-value
          #0 0x55df34ad8500 in decode_bytes /mariadb/10.5m/storage/myisam/mi_packrec.c:1236:14
          #1 0x55df34ad783e in uf_zerofill_normal /mariadb/10.5m/storage/myisam/mi_packrec.c:1011:3
          #2 0x55df34acdae6 in _mi_pack_rec_unpack /mariadb/10.5m/storage/myisam/mi_packrec.c:754:5
          #3 0x55df34a23e33 in sort_get_next_record /mariadb/10.5m/storage/myisam/mi_check.c:3629:11
          #4 0x55df34a3aee2 in sort_key_read /mariadb/10.5m/storage/myisam/mi_check.c:3124:14
          #5 0x55df34b40252 in find_all_keys /mariadb/10.5m/storage/myisam/sort.c:311:18
          #6 0x55df34b40252 in _create_index_by_sort /mariadb/10.5m/storage/myisam/sort.c:227:17
          #7 0x55df34a35d48 in mi_repair_by_sort /mariadb/10.5m/storage/myisam/mi_check.c:2403:9
          #8 0x55df349fb9b9 in myisamchk /mariadb/10.5m/storage/myisam/myisamchk.c:1024:19
          #9 0x55df349f400d in main /mariadb/10.5m/storage/myisam/myisamchk.c:87:19
          #10 0x7f6381967e0a in __libc_start_main csu/../csu/libc-start.c:308:16
          #11 0x55df34978649 in _start (/dev/shm/10.5-msan/storage/myisam/myisamchk+0x49649)
       
        Memory was marked as uninitialized
          #0 0x55df3498493e in __msan_allocated_memory (/dev/shm/10.5-msan/storage/myisam/myisamchk+0x5593e)
          #1 0x55df34c4bcc7 in my_malloc /mariadb/10.5m/mysys/my_malloc.c:111:7
       
      SUMMARY: MemorySanitizer: use-of-uninitialized-value /mariadb/10.5m/storage/myisam/mi_packrec.c:1236:14 in decode_bytes
      Exiting
      mysqltest: At line 34: exec of '/dev/shm/10.5-msan/storage/myisam/myisamchk -srq /dev/shm/10.5-msan/mysql-test/var/1/mysqld.1/data//test/t1' failed, error: 19712, status: 77, errno: 11
      Output from before failure:
      FLUSH TABLES;
      

      The code in decode_bytes() is as follows:

      	/* First use info in quick_table */
          low_byte=(bit_buff->current_byte >> (bits - table_bits)) & table_and;
          low_byte=decode_tree->table[low_byte];
          if (low_byte & IS_CHAR)
      

      The failing statement is right before the if statement.

      Note: Please adjust the affectedVersion and fixVersion. I only tested 10.5.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              monty Michael Widenius
              Reporter:
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: