------- Comment #6 from jakub at gcc dot gnu dot org 2008-11-15 22:59 ------- BTW, you are likely using -D_FORTIFY_SOURCE=2 and that, unlike -D_FORTIFY_SOURCE=1 has some extra restrictions beyond the C standard. One is that the str*/stp* functions must not cross field boundary in structures. mem* functions don't have this restriction and can flow through from one field into another, of course can't cross object boundaries though.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38136