SWFEditor 0.57 をリリースしました
- http://sourceforge.jp/projects/swfed/releases
- http://sourceforge.jp/projects/swfed/wiki/ChangeLog#h1-0.57
以下の条件で発生する可能性のある seg.fault の不具合修正です。
- グラフィックシンボルで10個以上の画像をまとめた(画像のみを普通のシンボルでまとめた場合も同様)SWF に以下の操作を行った場合。
- setShapeAdjustMode で NONE 以外を指定した後で、replace*Data(画像系なら何でも)を実行した場合。
- 画像を10個持つグラフィックシンボル(Shape Tag) に対して getTagDetail を実行した場合。
- ボタンシンボルで10個以上の画像をまとめた SWF に対して、purgeUselessContents を実行した場合。
Windows での build の対応もあります。
- Windows でコンパイルが出来なくなっていたのを修正しました。
- Windows GIF 系のメソッドを呼ぶとプロセスが異常終了する不具合を修正しました。> http://d.hatena.ne.jp/yoya/20120404/swfed
不具合の理由
- 各々の画像が10個を超えた時に realloc でメモリ領域を拡張しますが、その時にサイズに sizeof type を掛けなかった為、拡張サイズが不足していました。ワイルドポインタ系の為、問題が発生したり、しなかったりします。
- しかも問題が起こった時には、libc で落ちたりするので gdb で追えず、valgrind に頼りました。valgrind 万歳。
TODO
- グラフィックシンボルで複数の画像がまとめられた場合に、setShapeAdjustMode で NONE 以外を指定して、どれか画像一つでも replace*Data を実行すると、その他の画像も巻き添えになる不具合があります。はやめに直します。