clang-tidy false positives with common realloc/malloc sizeof pattern

451: h64expression **new_arg_values = realloc(
452: out_funcargs->arg_value,
453: sizeof(*new_arg_values) * (out_funcargs->arg_count + 1)
454: );
(line 453) Suspicious usage of 'sizeof(A*)'; pointer to aggregate

I have this clang-tidy false positive ALL OVER my code base, and it's
drowning the useful warnings. Also, I agree that sizeof(pointer) looks
suspicious in many cases, just not this one.

TYPE *target = realloc(..., sizeof(*target) ...)

is such a common pattern, even when TYPE happens to be a pointer type
itself, I don't think this should show up with that warning. Or is it
just me? Would love to see this improved one day.

I'm happy to be educated though why this code actually is bad/suspicious
for real. I just really don't see it, so the warning bugs me -
especially since if I actually misuse sizeof() now there is no way I
could actually spot the warning among all the uninteresting ones.



oops, just realizing this probably should go to llvm-bugs@ or similar,
my bad. Should I resend it to over there? I apologize for the noise