off_t
to malloc()
(where expect )の値を渡す際に問題が発生することはありsize_t
ますか?
ファイルを読み込んで、その内容をメモリに保存しています。ファイル サイズは、関数に渡された後にst_size
メンバによって取得され、返されたメモリを my asとファイル サイズ asとして渡すための呼び出しを行う場所に渡されます。struct stat
stat()
malloc()
fread()
malloc()
buf
nmemb
しかし、問題は、ファイル サイズが実際には 32 ビット/64 ビット マシンsize_t
での関数の動作によって保持できない大きな数値である場合: 整数オーバーフローと壊れた buf (要求されたバイト数ではなく) です。malloc()
本当に戻ってきた)またはNULL
?
私はそれが本当に起こらないかもしれないことを知っているので、おそらく誰かがこのアプリケーションをスーパーコンピュータなどに使用し、私のパーサーに最大のファイルを要求します. .