2005-12-27から1日間の記事一覧

GCC-4.1.0 and ProPolice/SH

えとーさんに教えてもらって参加した SEA & FSIJ 合同フォーラム2005年12月 「GCC行く年来る年」で伺ったところによると、GCCの4.1でIBM東京基礎研のProPoliceがマージされて、しかもx86だけでなく、x86_64, ppc, sparc, s390, そしてshがサポートされるそう…

operator newの隠れた整数オーバーフローとVisualStudio 2005のVC++

C++

void vuln(std::size_t nelem) { int* p = new int[nelem]; std::memset(p, 12345, nelem); }上記の関数には整数オーバーフローに起因するヒープベースバッファオーバーフローの脆弱性があるんですが、どこがまずいかわかりますか? まずいのはnewしている部…

GCCの-ftrapv

gcc -ftrapv 最近のGCC(>=3.x)には-ftrapvというオプションがあって、これを有効にすると「符号あり整数同士の加算・減算・乗算でオーバーフロー/アンダーフローが発生したとき、プロセスをabort()」してくれます。例えば、INT_MAX + 1 とか INT_MIN - 1 と…