古いタイプの呼出し規則
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)); ... }
だよねえ。
修正案を拙い英語で送ってみる。