• S
    Fix an asan warning caused by the recent io_uring change (#6135) · d1ae2c3f
    sdong 提交于
    Summary:
    ASAN reports:
    
    internal_repo_rocksdb/repo:db_test - MultiThreaded/MultiThreadedDBTest.MultiThreaded/43: fatal
    ==2692739==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6130000500ca at pc 0x0000006be780 bp 0x7efef85ccd20 sp 0x7efef85cc4d0
    [CONTEXT] === How to use this, how to get the raw stack trace, and more: fburl.com/ASAN ===
    [CONTEXT] READ of size 331 at 0x6130000500ca thread T195
    [CONTEXT]      #0 db_test_bin+0x6be77f                     __interceptor_strlen.part.35
    [CONTEXT]      https://github.com/facebook/rocksdb/issues/1 internal_repo_rocksdb/repo/include/rocksdb/slice.h:55 rocksdb::Slice::Slice(char const*)
    [CONTEXT]      https://github.com/facebook/rocksdb/issues/2 internal_repo_rocksdb/repo/env/io_posix.cc:522 rocksdb::PosixRandomAccessFile::MultiRead(rocksdb::ReadRequest*, unsigned long)
    
    I looked at env/io_posix.cc:522 but don't see a reason why the line needs to be there at all, because it is not used before overwritten. So it must be a line that is put there as a bug. Remove it.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/6135
    
    Test Plan: Rerun the same test which passes after the fix. Run all the tests and make sure they all pass.
    
    Differential Revision: D18880251
    
    fbshipit-source-id: 3b84ac6a05b67b529c4202e0ceb4c047460f44f2
    d1ae2c3f
io_posix.cc 35.9 KB