From c6d89095fcdcaa83987d64040f44416bd9083f25 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Mon, 28 Apr 2025 13:55:45 +0200 Subject: Fixed wrong state in SFileAddFile --- test/StormTest.cpp | 65 +++++++++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 40 deletions(-) (limited to 'test') diff --git a/test/StormTest.cpp b/test/StormTest.cpp index 3d9cb96..b769e02 100755 --- a/test/StormTest.cpp +++ b/test/StormTest.cpp @@ -3864,62 +3864,47 @@ static DWORD TestUtf8Conversions(const BYTE * szTestString, const TCHAR * szList static void Test_PlayingSpace() { - LPCTSTR szMpqName = _T("e:\\Ladik\\Incoming\\wow-final.MPQ"); - HANDLE hMpq = NULL; + HANDLE SFileOpenArchivevar0 = NULL; + LPCSTR fuzzData = "c:\\segv"; - if(SFileOpenArchive(szMpqName, 0, 0, &hMpq)) + for(DWORD i = 0; i < 1000; i++) { - SFileVerifyArchive(hMpq); - SFileCloseArchive(hMpq); - } + char NewName[128]; -/* - LPCSTR fuzzData = "e:\\MPQ_2025_05_AddFileError.mpq"; + sprintf(NewName, "c:\\segv%04u", i); + CopyFileA(fuzzData, NewName, FALSE); + SFileOpenArchivevar0 = NULL; - HANDLE SFileOpenArchivevar0; - memset(&SFileOpenArchivevar0, 0, (sizeof SFileOpenArchivevar0)); + bool SFileOpenArchiveval1 = SFileOpenArchive(NewName, i, 0, &SFileOpenArchivevar0); + if(!SFileOpenArchiveval1) + { + fprintf(stderr, "err2"); + exit(0); + } - bool SFileOpenArchiveval1 = SFileOpenArchive(fuzzData, (DWORD)strlen(fuzzData), 0, &SFileOpenArchivevar0); - //if(strcmp(argv[1], fuzzData)) - //{ - // fprintf(stderr, "err1"); - // exit(0); - //} - printf("Test"); - if((size_t)SFileOpenArchiveval1 < 1) - { - fprintf(stderr, "err2"); - exit(0); - } - bool SFileAddWaveval1 = SFileAddWave(SFileOpenArchivevar0, fuzzData, fuzzData, (DWORD)strlen(fuzzData), 1); - //if(strcmp(argv[1], fuzzData)) - //{ - // fprintf(stderr, "err3"); - // exit(0); - //} - if((size_t)SFileAddWaveval1 < 1) - { - fprintf(stderr, "err4"); - exit(0); + bool SFileAddWaveval1 = SFileAddWave(SFileOpenArchivevar0, fuzzData, fuzzData, i, 1); + if(!SFileAddWaveval1) + { + SFileCloseArchive(SFileOpenArchivevar0); + fprintf(stderr, "err4"); + exit(0); + } } + bool SFileRemoveFileval1 = SFileRemoveFile(SFileOpenArchivevar0, fuzzData, (DWORD)_tcslen(fuzzData)); - //if(strcmp(argv[1], fuzzData)) - //{ - // fprintf(stderr, "err5"); - // exit(0); - //} - if((size_t)SFileRemoveFileval1 < 1) + if(!SFileRemoveFileval1) { fprintf(stderr, "err6"); exit(0); } + DWORD SFileVerifyArchiveval1 = SFileVerifyArchive(SFileOpenArchivevar0); - if(SFileVerifyArchiveval1 < 0) + if(!SFileVerifyArchiveval1) { fprintf(stderr, "err7"); exit(0); } - */ + /* if(SFileOpenArchive(_T("E:\\DIABDAT.MPQ"), 0, 0, &hMpq)) { -- cgit v1.2.3