プログラミング言語 C

"K & R"(isbn:4320026926) → そろそろ読まないと . . .*1
その前に 誤訳リストをダウンロードして印刷しておく。*2

$w3m -dump homepage2.nifty.com/tenk/scrap/kr2rev.htm > kr2_err.txt
$a2ps -B -1 kr2_err.txt -d

(↑の a2ps は vine plus ので 日本字印刷が可能)

*1:一応、古本を購入。1989年11刷

*2:A4用紙で 35ページ

バッファ オーバーフロー

固定長バッファ*1を越えるデータを送り込むことにより データ領域が破壊されること。
これを防ぐため 例えば、gets() を fgets() に変えるときには 次のように訂正。

fgets(buf, sizeof(buf), stdin);

入力するバッファの長さ(範囲)をチェックしない 危ない関数には、

gets()
sprintf()
strcpy()

などがある . . . らしい。

*1:char buf[512]←コレ