https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106762

--- Comment #5 from qinzhao at gcc dot gnu.org ---
with my work-in-progress patch + -fdiagnostics-explain-harder:

t_106762.c: In function ‘bug’:
t_106762.c:16:2: warning: ‘memset’ offset [0, 7] is out of the bounds [0, 0]
[-Warray-bounds=]
   16 |  memset(&obj->field1, 0xff, sizeof(obj->field1));
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  ‘bug’: events 1-2
   12 |  if (idx < ary->objcnt)
      |     ^
      |     |
      |     (1) when the condition is evaluated to false
......
   16 |  memset(&obj->field1, 0xff, sizeof(obj->field1));
      |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  |
      |  (2) out of array bounds here

looks a nice improvement to the diagnostic.

Reply via email to