aboutsummaryrefslogtreecommitdiff
path: root/test/Analysis/malloc.c
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-09-12 22:57:34 +0000
committerAnna Zaks <ganna@apple.com>2012-09-12 22:57:34 +0000
commit9dc298bf8e4001978e44e7f1872f337fe5805960 (patch)
tree82760539b6b940ad33e58ffb2dd9d600ba1803d3 /test/Analysis/malloc.c
parent522fc21f3adc647817edc8017e6928a64c96899b (diff)
[analyzer] Fix another false positive in malloc realloc logic.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163749 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/malloc.c')
-rw-r--r--test/Analysis/malloc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Analysis/malloc.c b/test/Analysis/malloc.c
index 52a79243ce..b939ac36d1 100644
--- a/test/Analysis/malloc.c
+++ b/test/Analysis/malloc.c
@@ -1020,6 +1020,16 @@ int reallocButNoMallocPR13674(struct HasPtr *a, int c, int size) {
return 0;
}
+// Test realloc with no visible malloc.
+void *test(void *ptr) {
+ void *newPtr = realloc(ptr, 4);
+ if (newPtr == 0) {
+ if (ptr)
+ free(ptr); // no-warning
+ }
+ return newPtr;
+}
+
// ----------------------------------------------------------------------------
// False negatives.