]> granicus.if.org Git - clang/commit
[analyzer] Track malloc'd memory into struct fields.
authorJordan Rose <jordan_rose@apple.com>
Wed, 20 Mar 2013 20:35:57 +0000 (20:35 +0000)
committerJordan Rose <jordan_rose@apple.com>
Wed, 20 Mar 2013 20:35:57 +0000 (20:35 +0000)
commit74f6982232c25ae723b1cc5abc59665a10867f21
tree27cee3d374fd9afb0ce97822d11a0692d2fcd519
parentf8ddc098981d4d85cad4e72fc6dfcfe83b842b66
[analyzer] Track malloc'd memory into struct fields.

Due to improper modelling of copy constructors (specifically, their
const reference arguments), we were producing spurious leak warnings
for allocated memory stored in structs. In order to silence this, we
decided to consider storing into a struct to be the same as escaping.
However, the previous commit has fixed this issue and we can now properly
distinguish leaked memory that happens to be in a struct from a buffer
that escapes within a struct wrapper.

Originally applied in r161511, reverted in r174468.
<rdar://problem/12945937>

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177571 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/ExprEngine.cpp
test/Analysis/malloc-annotations.c
test/Analysis/malloc.c
test/Analysis/simple-stream-checks.c