[CONC-513] MSAN use-of-uninitialized-value in strstr() in mariadb_get_install_location() Created: 2020-10-30  Updated: 2021-02-01  Resolved: 2020-10-30

Status: Closed
Project: MariaDB Connector/C
Component/s: None
Affects Version/s: 3.1.10
Fix Version/s: 3.1.11

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: MSAN, valgrind


 Description   

MemorySanitizer is issuing errors like this:

3.1 93618b4036d61a4425154c7d8bc41647872b64cd

Uninitialized bytes in StrstrCheck at offset 58 inside [0x7fff5b6ab880, 60)
==38278==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x562d177ea77e in strstr (/dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config+0x2e77e)
    #1 0x562d17855fe4 in mariadb_get_install_location /dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config.c:193:8
    #2 0x562d17855688 in main /dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config.c:214:3
    #3 0x7f1ad1985cc9 in __libc_start_main csu/../csu/libc-start.c:308:16
    #4 0x562d177dc2a9 in _start (/dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config+0x202a9)
 
  Uninitialized value was created by an allocation of '' in the stack frame of function 'mariadb_get_install_location'
    #0 0x562d17855c60 in mariadb_get_install_location /dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config.c:146
 
SUMMARY: MemorySanitizer: use-of-uninitialized-value (/dev/shm/10.5msan/libmariadb/mariadb_config/mariadb_config+0x2e77e) in strstr
Exiting

As far as I can tell, the problem was recently introduced. We fail to ensure that the string is terminated by a NUL byte. Most of the time, it might happen to hold after executing alloca().


Generated at Thu Feb 08 03:05:51 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.