MPlayer 1.0rc1にバッファオーバーフローのバグ
MPlayer(現行バージョンの1.0rc1)にはバッファオーバーフローのバグがあるらしい。
参考:http://lists.grok.org.uk/pipermail/full-disclosure/2007-March/052738.html
MPlayerの公式サイトにはまだパッチが無いので自分でソースをいじって直す。
直す箇所
MPlayerのソースを展開して、「loader/dmo/DMO_VideoDecoder.c」の123行目辺りで、memcpy()関数のある行の次に、
this->iv.m_bh->biSize = bihs;
を付け加える。
前後と合わせると、こんな感じなる。
122: this->iv.m_bh = malloc(bihs); 123: memcpy(this->iv.m_bh, format, bihs); 124: this->iv.m_bh->biSize = bihs; 125: 126: this->iv.m_State = STOP; 127: //this->iv.m_pFrame = 0;
修正したら、後はいつも通りにコンパイルする。