summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Unix/PathV2.inc
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-11-15 20:10:05 +0000
committerJordan Rose <jordan_rose@apple.com>2012-11-15 20:10:05 +0000
commit19bc88c3d425a18ad1a9e16127856b88b62058fa (patch)
tree420df18e22611f66ca3cd3a246160c252c668918 /llvm/lib/Support/Unix/PathV2.inc
parent523855929becac2e6c06f465633da1243f6a3690 (diff)
downloadbcm5719-llvm-19bc88c3d425a18ad1a9e16127856b88b62058fa.tar.gz
bcm5719-llvm-19bc88c3d425a18ad1a9e16127856b88b62058fa.zip
[analyzer] Fix a use-after-free introduced in r168019.
In code like this: void foo() { bar(); baz(); } ...the location for the call to 'bar()' was being used as a backup location for the call to 'baz()'. This is fine unless the call to 'bar()' is deemed uninteresting and that part of the path deleted. (This looks like a logic error as well, but in practice the only way 'baz()' could have an invalid location is if the entire body of 'foo()' is synthesized, meaning the call to 'bar()' will be using the location of the call to 'foo()' anyway. Nevertheless, the new version better matches the intent of the code.) Found by Matt Beaumont-Gay using ASan. Thanks, Matt! llvm-svn: 168080
Diffstat (limited to 'llvm/lib/Support/Unix/PathV2.inc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud