Hello community,

here is the log from the commit of package unrar for openSUSE:Factory:NonFree 
checked in at 2019-03-01 16:50:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Fri Mar  1 16:50:33 2019 rev:77 rq:680094 version:5.7.3

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2019-02-24 
17:21:16.668387735 +0100
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.28833/unrar.changes   
2019-03-01 16:50:33.449728188 +0100
@@ -1,0 +2,7 @@
+Thu Feb 28 11:24:41 UTC 2019 - Ismail Dönmez <idon...@suse.com>
+
+- Update to version 5.7.3
+  * Based on WinRAR 5.70
+  * No upstream changelog
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-5.7.2.tar.gz

New:
----
  unrarsrc-5.7.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.lcBhZs/_old  2019-03-01 16:50:34.169727917 +0100
+++ /var/tmp/diff_new_pack.lcBhZs/_new  2019-03-01 16:50:34.173727915 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package unrar
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,16 +12,16 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 # majorversion should match the major version number.
 %define majorversion 5
-%define libsuffix 5_7_2
+%define libsuffix 5_7_3
 
 Name:           unrar
-Version:        5.7.2
+Version:        5.7.3
 Release:        0
 Summary:        A program to extract, test, and view RAR archives
 License:        NonFree

++++++ unrarsrc-5.7.2.tar.gz -> unrarsrc-5.7.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/archive.hpp new/unrar/archive.hpp
--- old/unrar/archive.hpp       2019-02-21 11:25:08.000000000 +0100
+++ new/unrar/archive.hpp       2019-02-24 20:07:17.000000000 +0100
@@ -84,7 +84,7 @@
     void AddSubData(byte *SrcData,uint64 DataSize,File *SrcFile,
          const wchar *Name,uint Flags);
     bool ReadSubData(Array<byte> *UnpData,File *DestFile);
-    HEADER_TYPE GetHeaderType() {return CurHeaderType;};
+    HEADER_TYPE GetHeaderType() {return CurHeaderType;}
     RAROptions* GetRAROptions() {return Cmd;}
     void SetSilentOpen(bool Mode) {SilentOpen=Mode;}
 #if 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/arcmem.cpp new/unrar/arcmem.cpp
--- old/unrar/arcmem.cpp        2018-03-11 07:24:06.000000000 +0100
+++ new/unrar/arcmem.cpp        1970-01-01 01:00:00.000000000 +0100
@@ -1,67 +0,0 @@
-ArcMemory::ArcMemory()
-{
-  Loaded=false;
-  SeekPos=0;
-}
-
-
-void ArcMemory::Load(const byte *Data,size_t Size)
-{
-  ArcData.Alloc(Size);
-  memcpy(&ArcData[0],Data,Size);
-  Loaded=true;
-  SeekPos=0;
-}
-
-
-bool ArcMemory::Unload()
-{
-  if (!Loaded)
-    return false;
-  Loaded=false;
-  return true;
-}
-
-
-bool ArcMemory::Read(void *Data,size_t Size,size_t &Result)
-{
-  if (!Loaded)
-    return false;
-  Result=(size_t)Min(Size,ArcData.Size()-SeekPos);
-  memcpy(Data,&ArcData[(size_t)SeekPos],Result);
-  SeekPos+=Result;
-  return true;
-}
-
-
-bool ArcMemory::Seek(int64 Offset,int Method)
-{
-  if (!Loaded)
-    return false;
-  if (Method==SEEK_SET)
-  {
-    if (Offset<0)
-      SeekPos=0;
-    else
-      SeekPos=Min((uint64)Offset,ArcData.Size());
-  }
-  else
-    if (Method==SEEK_CUR || Method==SEEK_END)
-    {
-      if (Method==SEEK_END)
-        SeekPos=ArcData.Size();
-      SeekPos+=(uint64)Offset;
-      if (SeekPos>ArcData.Size())
-        SeekPos=Offset<0 ? 0 : ArcData.Size();
-    }
-  return true;
-}
-
-
-bool ArcMemory::Tell(int64 *Pos)
-{
-  if (!Loaded)
-    return false;
-  *Pos=SeekPos;
-  return true;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/arcmem.hpp new/unrar/arcmem.hpp
--- old/unrar/arcmem.hpp        2018-03-11 07:24:06.000000000 +0100
+++ new/unrar/arcmem.hpp        1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-#ifndef _RAR_ARCMEM_
-#define _RAR_ARCMEM_
-
-// Memory interface for software fuzzers.
-
-class ArcMemory
-{
-  private:
-    bool Loaded;
-    Array<byte> ArcData;
-    uint64 SeekPos;
-  public:
-    ArcMemory();
-    void Load(const byte *Data,size_t Size);
-    bool Unload();
-    bool IsLoaded() {return Loaded;}
-    bool Read(void *Data,size_t Size,size_t &Result);
-    bool Seek(int64 Offset,int Method);
-    bool Tell(int64 *Pos);
-};
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/arcread.cpp new/unrar/arcread.cpp
--- old/unrar/arcread.cpp       2019-02-21 11:25:08.000000000 +0100
+++ new/unrar/arcread.cpp       2019-02-24 20:07:17.000000000 +0100
@@ -204,7 +204,7 @@
     if (ShortBlock.HeaderType==HEAD_MAIN && (ShortBlock.Flags & 
MHD_COMMENT)!=0)
     {
       // Old style (up to RAR 2.9) main archive comment embedded into
-      // the main archive header found. While we can read the entire 
+      // the main archive header found. While we can read the entire
       // ShortBlock.HeadSize here and remove this part of "if", it would be
       // waste of memory, because we'll read and process this comment data
       // in other function anyway and we do not need them here now.
@@ -230,7 +230,7 @@
       Encrypted=(MainHead.Flags & MHD_PASSWORD)!=0;
       Signed=MainHead.PosAV!=0 || MainHead.HighPosAV!=0;
       MainHead.CommentInHeader=(MainHead.Flags & MHD_COMMENT)!=0;
-    
+
       // Only for encrypted 3.0+ archives. 2.x archives did not have this
       // flag, so for non-encrypted archives, we'll set it later based on
       // file attributes.
@@ -257,7 +257,7 @@
         hd->WinSize=hd->Dir ? 0:0x10000<<((hd->Flags & LHD_WINDOWMASK)>>5);
         hd->CommentInHeader=(hd->Flags & LHD_COMMENT)!=0;
         hd->Version=(hd->Flags & LHD_VERSION)!=0;
-        
+
         hd->DataSize=Raw.Get4();
         uint LowUnpSize=Raw.Get4();
         hd->HostOS=Raw.Get1();
@@ -282,7 +282,7 @@
           {
             case 13: hd->CryptMethod=CRYPT_RAR13; break;
             case 15: hd->CryptMethod=CRYPT_RAR15; break;
-            case 20: 
+            case 20:
             case 26: hd->CryptMethod=CRYPT_RAR20; break;
             default: hd->CryptMethod=CRYPT_RAR30; break;
           }
@@ -304,7 +304,7 @@
         }
 
         hd->Inherited=!FileBlock && (hd->SubFlags & 
SUBHEAD_FLAGS_INHERITED)!=0;
-        
+
         hd->LargeFile=(hd->Flags & LHD_LARGE)!=0;
 
         uint HighPackSize,HighUnpSize;
@@ -314,7 +314,7 @@
           HighUnpSize=Raw.Get4();
           hd->UnknownUnpSize=(LowUnpSize==0xffffffff && 
HighUnpSize==0xffffffff);
         }
-        else 
+        else
         {
           HighPackSize=HighUnpSize=0;
           // UnpSize equal to 0xffffffff without LHD_LARGE flag indicates
@@ -509,7 +509,7 @@
         NextBlockPos+=Raw.Get4();
       break;
   }
-  
+
   ushort HeaderCRC=Raw.GetCRC15(false);
 
   // Old AV header does not have header CRC properly set.
@@ -644,7 +644,7 @@
     BrokenHeaderMsg();
     return 0;
   }
-  
+
   Raw.Read(SizeToRead);
 
   if (Raw.Size()<HeaderSize)
@@ -677,7 +677,7 @@
       return 0;
     }
   }
-  
+
   uint64 ExtraSize=0;
   if ((ShortBlock.Flags & HFL_EXTRA)!=0)
   {
@@ -770,7 +770,7 @@
           // to not break normal archive processing by calling function.
           int64 SaveCurBlockPos=CurBlockPos,SaveNextBlockPos=NextBlockPos;
           HEADER_TYPE SaveCurHeaderType=CurHeaderType;
-          
+
           QOpen.Init(this,false);
           QOpen.Load(MainHead.QOpenOffset);
 
@@ -795,7 +795,7 @@
         hd->PackSize=DataSize;
         hd->FileFlags=(uint)Raw.GetV();
         hd->UnpSize=Raw.GetV();
-        
+
         hd->UnknownUnpSize=(hd->FileFlags & FHFL_UNPUNKNOWN)!=0;
         if (hd->UnknownUnpSize)
           hd->UnpSize=INT64NDF;
@@ -882,7 +882,7 @@
           RecoverySize=Header.RecSectionSize*Header.RecCount;
         }
 #endif
-          
+
         if (BadCRC) // Add the file name to broken header message displayed 
above.
           uiMsg(UIERROR_FHEADERBROKEN,Archive::FileName,hd->FileName);
       }
@@ -1307,7 +1307,7 @@
 
   if (mask == (mode_t) -1)
   {
-    // umask call returns the current umask value. Argument (022) is not 
+    // umask call returns the current umask value. Argument (022) is not
     // really important here.
     mask = umask(022);
 
@@ -1384,8 +1384,8 @@
 
     // ':' in file names is allowed in Unix, but not in Windows.
     // Even worse, file data will be written to NTFS stream on NTFS,
-    // so automatic name correction on file create error in extraction 
-    // routine does not work. In Windows and DOS versions we better 
+    // so automatic name correction on file create error in extraction
+    // routine does not work. In Windows and DOS versions we better
     // replace ':' now.
     if (*s==':')
       *s='_';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2019-02-21 11:15:31.000000000 +0100
+++ new/unrar/dll.rc    2019-02-24 20:02:22.000000000 +0100
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 70, 2, 2979
-PRODUCTVERSION 5, 70, 2, 2979
+FILEVERSION 5, 70, 100, 2983
+PRODUCTVERSION 5, 70, 100, 2983
 FILEOS VOS__WINDOWS32
 FILETYPE VFT_APP
 {
@@ -14,8 +14,8 @@
       VALUE "CompanyName", "Alexander Roshal\0"
       VALUE "ProductName", "RAR decompression library\0"
       VALUE "FileDescription", "RAR decompression library\0"
-      VALUE "FileVersion", "5.70.2\0"
-      VALUE "ProductVersion", "5.70.2\0"
+      VALUE "FileVersion", "5.70.0\0"
+      VALUE "ProductVersion", "5.70.0\0"
       VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2019\0"
       VALUE "OriginalFilename", "Unrar.dll\0"
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/errhnd.hpp new/unrar/errhnd.hpp
--- old/unrar/errhnd.hpp        2019-02-21 11:25:09.000000000 +0100
+++ new/unrar/errhnd.hpp        2019-02-24 20:07:19.000000000 +0100
@@ -56,7 +56,7 @@
     uint GetErrorCount() {return ErrCount;}
     void SetSignalHandlers(bool Enable);
     void Throw(RAR_EXIT Code);
-    void SetSilent(bool Mode) {Silent=Mode;};
+    void SetSilent(bool Mode) {Silent=Mode;}
     bool GetSysErrMsg(wchar *Msg,size_t Size);
     void SysErrMsg();
     int GetSystemErrorCode();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/extract.cpp new/unrar/extract.cpp
--- old/unrar/extract.cpp       2019-02-21 11:25:09.000000000 +0100
+++ new/unrar/extract.cpp       2019-02-24 20:07:19.000000000 +0100
@@ -1085,7 +1085,7 @@
   {
 #if defined(_WIN_ALL) && !defined(SFX_MODULE)
     if (Cmd->SetCompressedAttr &&
-        (Arc.FileHead.FileAttr & FILE_ATTRIBUTE_COMPRESSED)!=0 && WinNT())
+        (Arc.FileHead.FileAttr & FILE_ATTRIBUTE_COMPRESSED)!=0 && 
WinNT()!=WNT_NONE)
       SetFileCompression(DestFileName,true);
 #endif
     SetFileHeaderExtra(Cmd,Arc,DestFileName);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/file.hpp new/unrar/file.hpp
--- old/unrar/file.hpp  2019-02-21 11:25:10.000000000 +0100
+++ new/unrar/file.hpp  2019-02-24 20:07:19.000000000 +0100
@@ -99,7 +99,7 @@
     void SetCloseFileTime(RarTime *ftm,RarTime *fta=NULL);
     static void SetCloseFileTimeByName(const wchar *Name,RarTime *ftm,RarTime 
*fta);
     void GetOpenFileTime(RarTime *ft);
-    virtual bool IsOpened() {return hFile!=FILE_BAD_HANDLE;}; // 'virtual' for 
MultiFile class.
+    virtual bool IsOpened() {return hFile!=FILE_BAD_HANDLE;} // 'virtual' for 
MultiFile class.
     int64 FileLength();
     void SetHandleType(FILE_HANDLETYPE Type) {HandleType=Type;}
     FILE_HANDLETYPE GetHandleType() {return HandleType;}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/rs16.cpp new/unrar/rs16.cpp
--- old/unrar/rs16.cpp  2019-02-21 11:25:12.000000000 +0100
+++ new/unrar/rs16.cpp  2019-02-24 20:07:22.000000000 +0100
@@ -27,7 +27,7 @@
   delete[] MX;
   delete[] ValidFlags;
 }
-    
+
 
 // Initialize logarithms and exponents Galois field tables.
 void RSCoder16::gfInit()
@@ -41,7 +41,7 @@
     gfExp[L]=E;
     gfExp[L+gfSize]=E;  // Duplicate the table to avoid gfExp overflow check.
     E<<=1;
-    if (E>gfSize) 
+    if (E>gfSize)
       E^=0x1100B; // Irreducible field-generator polynomial.
   }
 
@@ -59,7 +59,7 @@
 }
 
 
-uint RSCoder16::gfMul(uint a,uint b) // Multiplication in Galois field. 
+uint RSCoder16::gfMul(uint a,uint b) // Multiplication in Galois field.
 {
   return gfExp[gfLog[a]+gfLog[b]];
 }
@@ -156,7 +156,7 @@
   for (uint Kr = 0, Kf = 0; Kr < NE; Kr++, Kf++)
   {
     while (ValidFlags[Kf]) // Skip trivial rows.
-      Kf++;                 
+      Kf++;
     MI[Kr * ND + Kf] = 1;  // Set diagonal 1.
   }
 
@@ -174,7 +174,7 @@
       // after MI[..]^=, but we do not need it for matrix inversion.
       for (uint I = 0; I < NE; I++)
         MI[I * ND + Kf] ^= MX[I * ND + Kf];
-      Kf++;                 
+      Kf++;
     }
 
     if (Kf == ND)
@@ -186,14 +186,14 @@
     uint PInv = gfInv( MXk[Kf] ); // Pivot inverse.
     // Divide the pivot row by pivot, so pivot cell contains 1.
     for (uint I = 0; I < ND; I++)
-    { 
+    {
       MXk[I] = gfMul( MXk[I], PInv );
       MIk[I] = gfMul( MIk[I], PInv );
     }
 
     for (uint I = 0; I < NE; I++)
       if (I != Kr) // For all rows except containing the pivot cell.
-      { 
+      {
         // Apply Gaussian elimination Mij -= Mkj * Mik / pivot.
         // Since pivot is already 1, it is reduced to Mij -= Mkj * Mik.
         uint *MXi = MX + I * ND; // i-th row of main matrix.
@@ -361,7 +361,7 @@
     __m128i LowBytes1=_mm_and_si128(D[1],LowByteMask);
     __m128i HighBytes=_mm_packus_epi16(HighBytes0,HighBytes1);
     __m128i LowBytes=_mm_packus_epi16(LowBytes0,LowBytes1);
-    
+
     // Multiply bits 0..3 of low bytes. Store low and high product bytes
     // separately in cumulative sum variables.
     __m128i LowBytesLow4=_mm_and_si128(LowBytes,Low4Mask);
@@ -377,7 +377,7 @@
     // Add new product to existing sum, low and high bytes separately.
     LowBytesMultSum=_mm_xor_si128(LowBytesMultSum,LowBytesHigh4MultLow);
     HighBytesMultSum=_mm_xor_si128(HighBytesMultSum,LowBytesHigh4MultHigh);
-    
+
     // Multiply bits 0..3 of high bytes. Store low and high product bytes 
separately.
     __m128i HighBytesLow4=_mm_and_si128(HighBytes,Low4Mask);
     __m128i HighBytesLow4MultLow=_mm_shuffle_epi8(T2L,HighBytesLow4);
@@ -413,7 +413,7 @@
   // because Data and ECC can have different alignment offsets.
   for (; Pos<BlockSize; Pos+=2)
     *(ushort*)(ECC+Pos) ^= gfMul( M, *(ushort*)(Data+Pos) );
-  
+
   return true;
 }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/scantree.hpp new/unrar/scantree.hpp
--- old/unrar/scantree.hpp      2019-02-21 11:25:12.000000000 +0100
+++ new/unrar/scantree.hpp      2019-02-24 20:07:22.000000000 +0100
@@ -64,7 +64,7 @@
     ScanTree(StringList *FileMasks,RECURSE_MODE Recurse,bool 
GetLinks,SCAN_DIRS GetDirs);
     ~ScanTree();
     SCAN_CODE GetNext(FindData *FindData);
-    size_t GetSpecPathLength() {return SpecPathLength;};
+    size_t GetSpecPathLength() {return SpecPathLength;}
     int GetErrors() {return Errors;};
     void SetErrArcName(const wchar *Name) 
{wcsncpyz(ErrArcName,Name,ASIZE(ErrArcName));}
     void SetCommandData(CommandData *Cmd) {ScanTree::Cmd=Cmd;}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/suballoc.hpp new/unrar/suballoc.hpp
--- old/unrar/suballoc.hpp      2019-02-21 11:25:13.000000000 +0100
+++ new/unrar/suballoc.hpp      2019-02-24 20:07:23.000000000 +0100
@@ -77,7 +77,7 @@
     inline void* ExpandUnits(void* ptr,int OldNU);
     inline void* ShrinkUnits(void* ptr,int OldNU,int NewNU);
     inline void  FreeUnits(void* ptr,int OldNU);
-    long GetAllocatedMemory() {return(SubAllocatorSize);};
+    long GetAllocatedMemory() {return(SubAllocatorSize);}
 
     byte *pText, *UnitsStart,*HeapEnd,*FakeUnitsStart;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unicode.cpp new/unrar/unicode.cpp
--- old/unrar/unicode.cpp       2019-02-21 11:25:13.000000000 +0100
+++ new/unrar/unicode.cpp       2019-02-24 20:07:24.000000000 +0100
@@ -70,7 +70,7 @@
 #endif
   if (DestSize>0)
     Dest[DestSize-1]=0;
-  
+
   // We tried to return the empty string if conversion is failed,
   // but it does not work well. WideCharToMultiByte returns 'failed' code
   // and partially converted string even if we wanted to convert only a part
@@ -178,7 +178,7 @@
 
 
 #if defined(_UNIX) && defined(MBFUNCTIONS)
-// Convert and map inconvertible Unicode characters. 
+// Convert and map inconvertible Unicode characters.
 // We use it for extended ASCII names in Unix.
 void CharToWideMap(const char *Src,wchar *Dest,size_t DestSize,bool &Success)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack50.cpp new/unrar/unpack50.cpp
--- old/unrar/unpack50.cpp      2019-02-21 11:25:13.000000000 +0100
+++ new/unrar/unpack50.cpp      2019-02-24 20:07:24.000000000 +0100
@@ -11,7 +11,7 @@
     // Check TablesRead5 to be sure that we read tables at least once
     // regardless of current block header TablePresent flag.
     // So we can safefly use these tables below.
-    if (!ReadBlockHeader(Inp,BlockHeader) || 
+    if (!ReadBlockHeader(Inp,BlockHeader) ||
         !ReadTables(Inp,BlockHeader,BlockTables) || !TablesRead5)
       return;
   }
@@ -536,11 +536,11 @@
     if (!UnpReadBuf())
       return false;
   Inp.faddbits((8-Inp.InBit)&7);
-  
+
   byte BlockFlags=Inp.fgetbits()>>8;
   Inp.faddbits(8);
   uint ByteCount=((BlockFlags>>3)&3)+1; // Block size byte count.
-  
+
   if (ByteCount==4)
     return false;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack50frag.cpp new/unrar/unpack50frag.cpp
--- old/unrar/unpack50frag.cpp  2019-02-21 11:25:13.000000000 +0100
+++ new/unrar/unpack50frag.cpp  2019-02-24 20:07:24.000000000 +0100
@@ -48,7 +48,7 @@
     }
     if (NewMem==NULL)
       throw std::bad_alloc();
-    
+
     // Clean the window to generate the same output when unpacking corrupt
     // RAR files, which may access to unused areas of sliding dictionary.
     memset(NewMem,0,Size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack50mt.cpp new/unrar/unpack50mt.cpp
--- old/unrar/unpack50mt.cpp    2019-02-21 11:25:13.000000000 +0100
+++ new/unrar/unpack50mt.cpp    2019-02-24 20:07:24.000000000 +0100
@@ -165,7 +165,7 @@
         if (DataLeft<TooSmallToProcess)
           break;
       }
-      
+
 //#undef USE_THREADS
       UnpackThreadDataList UTDArray[MaxPoolThreads];
       uint UTDArrayPos=0;
@@ -180,7 +180,7 @@
         UnpackThreadDataList *UTD=UTDArray+UTDArrayPos++;
         UTD->D=UnpThreadData+CurBlock;
         UTD->BlockCount=Min(MaxBlockPerThread,BlockNumberMT-CurBlock);
-      
+
 #ifdef USE_THREADS
         if (BlockNumber==1)
           UnpackDecode(*UTD->D);
@@ -200,7 +200,7 @@
 #endif
 
       bool IncompleteThread=false;
-      
+
       for (uint Block=0;Block<BlockNumber;Block++)
       {
         UnpackThreadData *CurData=UnpThreadData+Block;
@@ -251,7 +251,7 @@
             break;
           }
       }
-      
+
       if (IncompleteThread || Done)
         break; // Current buffer is done, read more data or quit.
       else
@@ -303,7 +303,7 @@
     D.DamagedData=true;
     return;
   }
-  
+
   D.DecodedSize=0;
   int BlockBorder=D.BlockHeader.BlockStart+D.BlockHeader.BlockSize-1;
 
@@ -413,7 +413,7 @@
     {
       UnpackFilter Filter;
       ReadFilter(D.Inp,Filter);
-      
+
       CurItem->Type=UNPDT_FILTER;
       CurItem->Length=Filter.Type;
       CurItem->Distance=Filter.BlockStart;
@@ -498,7 +498,7 @@
             if (Item->Type==UNPDT_FILTER)
             {
               UnpackFilter Filter;
-              
+
               Filter.Type=(byte)Item->Length;
               Filter.BlockStart=Item->Distance;
 
@@ -534,7 +534,7 @@
     D.DamagedData=true;
     return false;
   }
-  
+
   int BlockBorder=D.BlockHeader.BlockStart+D.BlockHeader.BlockSize-1;
 
   // Reserve enough space even for filter entry.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp
--- old/unrar/version.hpp       2019-02-21 11:25:14.000000000 +0100
+++ new/unrar/version.hpp       2019-02-24 20:07:24.000000000 +0100
@@ -1,6 +1,6 @@
 #define RARVER_MAJOR     5
 #define RARVER_MINOR    70
-#define RARVER_BETA      2
-#define RARVER_DAY      21
+#define RARVER_BETA      0
+#define RARVER_DAY      25
 #define RARVER_MONTH     2
 #define RARVER_YEAR   2019


Reply via email to