"gcc silently discards some wraparound checks (http://www.kb.cert.org/vuls/id/162289)" - оптимизатор GCC 4.2 убирает проверки целочисленного переполнения для указателей. Например, будет игнорирован (https://www.securecoding.cert.org/confluence/display/seccode...) код "char *buf; int len; if(buf+len < buf){". Для обхода проблемы нужно писать "if((uintptr_t)buf+len < (uintptr_t)buf)".URL: http://www.kb.cert.org/vuls/id/162289
Новость: http://www.opennet.me/opennews/art.shtml?num=15188
Доп. инф-я.
http://abbra.livejournal.com/122621.html
Что-то они опухли со своей оптимизацией генерировать битый код.
>Что-то они опухли со своей оптимизацией генерировать битый код.По ссылке написано:
Note: this issue does not strictly constitute a vulnerability in gcc itself. The behavior that gcc exhibits in this case is permitted by the ISO/IEC 9899:1999 C specification (§6.5.6p8).