...
Code Block | ||
---|---|---|
| ||
int buf[1024]; int *buf_ptr = buf; while (havedata() && buf_ptr < buf + sizeof(buf)) { *buf_ptr++ = parseint(getdata()); } |
Compliant Code
...
Solution
To correct this example, the size of buf
can be directly added to buf
and used as an upper bound. The integer literal is scaled to the size of an integer and the upper bound of buf
is correctly checked.
...