Fix use after free in DiskFilesOrDirectories
authorRaphael Isemann <teemperor@gmail.com>
Mon, 22 Jan 2018 09:17:16 +0000 (09:17 +0000)
committerRaphael Isemann <teemperor@gmail.com>
Mon, 22 Jan 2018 09:17:16 +0000 (09:17 +0000)
commit17843885676ec74342bddca294b32c9ba56b6367
tree6d33f71f7834068e0cb081c5a7a1bed7602950cf
parent0b16ef781459a65ad77badf7490c93af775dd38a
Fix use after free in DiskFilesOrDirectories

Summary:
We copy the local variable `Resolved` into `Storage` to keep it around. However, we then still let the `SearchDir` ref point to `Resolved` which then is used to access the already freed memory later on. With this patch we point to `Storage` which doesn't get deleted after the current scope exits.

Discovered by memory sanitizer in the CompletionTest.DirCompletionUsername test.

Reviewers: zturner

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D42346

llvm-svn: 323082
lldb/source/Commands/CommandCompletions.cpp