古いタイプの呼出し規則
foo(char *s)
みたいな関数があって、 内部で s をいじってて、 なおかつ s の長さをチェックしていないライブラリを発見。
中身はこんなの。
foo(char *s)
{
char buf[N]
...
strcpy(buf, s);
...
}
こういうときは、ふつう
foo(char *s, size_t len)
{
char buf[N]
...
strlcpy(buf, s, sizeof(buf));
...
}
だよねえ。
修正案を拙い英語で送ってみる。
Posted at 23:33 | Permalink | Category | Comments