[PATCH] D139534: [analyzer] Don't escape local static memregions on bind
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 15 13:25:21 PST 2022
NoQ added inline comments.
================
Comment at: clang/test/Analysis/malloc-static-storage.cpp:33-38
+void malloc_escape() {
+ static int *p;
+ p = (int *)malloc(sizeof(int));
+ escape(p); // no-leak
+ p = 0; // no-leak
+}
----------------
NoQ wrote:
> The main problem with static locals is that this can happen the other way round:
>
> ```lang=c
> void malloc_escape() {
> static int *p;
> escape(p);
> p = (int *)malloc(sizeof(int));
> p = 0; // no-leak
> }
> ```
Wait, I misread. I'm thinking of a situation like this:
```
void malloc_escape() {
static int *p;
escape(&p); // added '&'
p = (int *)malloc(sizeof(int));
p = 0; // no-leak
}
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139534/new/
https://reviews.llvm.org/D139534
More information about the cfe-commits
mailing list