プログラムを書くときにはsecureに書こう (1) ひとつの情報をふたつの変数で管理しない! BINDはこれ unsigned/signed混用、かけ算でinteger overflow OpenSSHはこれ ポインタの引き算によるinteger overflow (void *)0 - (void *)0xffffffffはいくつでしょう? setuid codeは早めにsetuid(getuid())する openbsd manpageのCAVEAT section 「このライブラリはこう使うと危ない」情報いっぱい systrace/jailで縛る