X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fshared%2FWADEDITOR.pas;h=0a80f51d4d43091f3be64900719c3180a498e588;hp=de670694b81fe44207506b355c7351b3921ea86c;hb=9dc9fb8a1d22fe93e498bc3e1cb7358fdcf5d275;hpb=26a9499f81fee3459a53828e13dff6ae8ad4304a diff --git a/src/shared/WADEDITOR.pas b/src/shared/WADEDITOR.pas index de67069..0a80f51 100644 --- a/src/shared/WADEDITOR.pas +++ b/src/shared/WADEDITOR.pas @@ -157,6 +157,7 @@ var f: Integer; fi: TSFSFileInfo; fs: TStream; + fpp: Pointer; //fn: string; begin Result := False; @@ -186,8 +187,19 @@ begin end; Len := Integer(fs.size); GetMem(pData, Len); - fs.ReadBuffer(pData^, Len); - fs.Free; + fpp := pData; + try + fs.ReadBuffer(pData^, Len); + fpp := nil; + finally + if fpp <> nil then + begin + FreeMem(fpp); + pData := nil; + Len := 0; + end; + fs.Free; + end; result := true; {$IFDEF SFS_DWFAD_DEBUG} if gSFSDebug then