[clang] [BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (PR #90786)
Bill Wendling via cfe-commits
cfe-commits at lists.llvm.org
Fri May 10 15:08:03 PDT 2024
bwendling wrote:
@rapidsna @delcypher @apple-fcloutier @kees:
Okay, I think I see what the complication is. Are you trying to prevent the use case of someone writing something like:
```c
struct bar;
struct foo {
size_t count;
struct bar *ptr __counted_by(count);
};
```
where `ptr` is a pointer to one large space where that the user splits up into `count` number of `struct bar` objects?
```c
struct foo *alloc_foo(size_t count) {
struct foo *p = malloc(sizeof(struct foo));
p->count;
p->ptr = malloc(sizeof(struct bar) * count); // struct bar can't be incomplete here
return p;
}
```
https://github.com/llvm/llvm-project/pull/90786
More information about the cfe-commits
mailing list