PHP Pear::File_Archive 特定の文字が文字化けについて

PEARPHPライブラリ「File_Archive」のバグを発見しました。

■現象
SJISのファイル名を圧縮すると特定の文字が文字化けてしまいます。

■例
○対象ファイル
表-入稿データ.pdf

■原因
PHP「5C問題」

■対策パッチ
/usr/share/pear/File/Archive/Reader.php

下記を修正
– $std = str_replace(“\”, “/”, $path);
+ $std = preg_replace (“/\//” ,”/”,$path);

○補足
ディレクトリの区切り文字を「\」(0x5c)から「/」に置き変える処理が、SJIS文字の2byte目に含まれる0x5cまで置換されています。