https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104860
Bug ID: 104860 Summary: RFE: -Wanalyzer-possible-null-argument and -Wanalyzer-null-argument should respect __attribute__((access, ...)) Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: analyzer Assignee: dmalcolm at gcc dot gnu.org Reporter: dmalcolm at gcc dot gnu.org Target Milestone: --- Similar to PR analyzer/104793, but relating to NULL/possibly NULL pointers (and affects reads as well as writes): typedef __SIZE_TYPE__ size_t; int getrandom (void *__buffer, size_t __length, unsigned int __flags) __attribute__ ((access (__write_only__, 1, 2))); #define GRND_RANDOM 0x02 void test (int flag) { char *buf = __builtin_malloc (1024); if (getrandom(buf, 16, GRND_RANDOM)) __builtin_printf("%s\n", buf); __builtin_free (buf); } The call to malloc could fail, but we don't yet complain about the possibly-NULL param to getrandom, that's marked with __attribute__ ((access, ...))