Ticket #3842

XacRett.mxd Ver.0.48.0 で極小ファイル処理時に落ちる
Eröffnet am: 2004-01-30 23:55 Letztes Update: 2005-02-09 19:12

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
7
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

[ #3838 ] ファイル名に開き大括弧"["が含まれていると解凍失敗
https://sourceforge.jp/tracker/index.php?func=detail&aid=3838&group_id=19&atid=152

ここで検証中に判明しましたが、テキストファイルの拡張子
を書庫形式に変更した上で、Meltice にファイル処理をさせ
ようとすると、XacRett.mxd で Access Violation となります。

なお、XacRett.exe #48.1 では発生しない問題のため、
XacRett オリジナルの問題か、mxd 移植の際に発生した問題
かの切り分けはできていません。

詳細の原因と問題解決には、さらなる調査が必要です。

Ticket-Verlauf (3/3 Historien)

2004-05-04 08:54 Aktualisiert von: ardry
Kommentar
Logged In: YES
user_id=219

LzhTool.cpp (XacRett #48.0) 標準のコードに問題があります。問
題箇所は


int CLzhTool::FindHeader( const char* fname, const BYTE*
hdr, DWORD siz )
{
bool bopen = false;
BYTE* temp;
int ans=-1;

for( DWORD i=0; i<siz-20; i++ )
{
if( hdr[i+2]=='-' && hdr[i+3]=='l' &&
(hdr[i+4]=='h' || hdr[i+4]=='z') )
{
if( !bopen )
if( !(lzh=fopen( fname,"rb" )) )
return -1;
else
 :
 :
の hdr 配列参照部分。ファイルが非常に小さい場合、ファイル終
端より後ろのバッファを読もうとして墜落していました。

オリジナルの #48.1 では問題回避されていることから、
XacRett.mxd オリジナル部分への折り込みあるいはLzhTool.cpp の
差し替えなど、対応策を考える必要があります。


2004-05-07 18:06 Aktualisiert von: ardry
Kommentar
Logged In: YES
user_id=219

XacRett #48.1 ベースのソースコードにした場合、5/4 に書き込みした
CLzhTool::FindHeader() 上の問題は発生しなくなります。変わりに、
CGcaTool::Check() 内で特定条件が整った場合限定で墜ちるように
なります。

GcaLibの問題か、XacRett.exe の問題かまでの切り分けはできてい
ません。

CGcaTool の問題が解消され、ほかにも問題が発生しない場合は
XacRett.mxd の新βバージョンを公開できるようになると思います。
2005-02-09 19:12 Aktualisiert von: ardry
  • Ticket Close date is changed to 2005-02-09 19:12
  • Status Update from Offen to Geschlossen
Kommentar
Logged In: YES
user_id=219

XacRett.exe #48.0 オリジナルからあった問題でした。
XacRett.mxd Ver.0.49.0 (2004/10/24公開)で問題が解消されてい
ることを確認済みです。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden