2008-10-30 (Thu) [長年日記]

_ [sec][mutt]Insecure C の整数のところを見て

mutt の check_sec.sh に

do_check 'r?[emc]alloc.* \* ' __MEM_CHECKED__ "Alert: Unchecked multiplication in alloc calls."

って入れてみたら、あるわあるわ。

ていうかせっかく safe_calloc なのに (1, hoge * fuga) やってるのって何なの? 死ぬの? (いや sizeof(char)==1 だから char 配列としては正しいとか言われるんだろうか。だとしても mutt_ssl.c の safe_calloc(1,STRING*sizeof(char)) は言い訳できないぞ)

まあほとんど (あるいはすべて) 実害はないだろう*1けど、なんか片手落ちって感じがして意外だった。

*1 ざっと見たところでは、外部からの入力で容易に integer overflow しそうなところはなかった

[]

«前の日記(2008-09-30 (Tue)) 最新