https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81094
Bug ID: 81094 Summary: -fsanitize=object-size does not instrument aggregate call arguments Product: gcc Version: 7.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- #define N 20 struct S { int i; }; __attribute__((noinline, noclone)) void f0 (struct S s) { asm volatile ("" : : "r" (s.i) : "memory"); } __attribute__((noinline, noclone)) void f1 (int i) { char *orig; struct S *p; orig = (char *) __builtin_calloc (N, sizeof (struct S)); p = (struct S *) orig; f0 (*(p + i)); f0 (p[i]); p++; f0 (p[i - 1]); f0 (*(p + i - 1)); __builtin_free (orig); } does not instrument the aggregate arguments of calls, similarly to PR81005.