Hello community,

here is the log from the commit of package unrar for openSUSE:Factory:NonFree 
checked in at 2016-07-24 19:53:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.unrar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "unrar"

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes      2016-05-31 
12:25:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new/unrar.changes 2016-07-24 
19:53:58.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Jul 22 06:51:29 UTC 2016 - mplus...@suse.com
+
+- Update to version 5.4.3:
+  * No changelog provided.
+
+-------------------------------------------------------------------

Old:
----
  unrarsrc-5.4.2.tar.gz

New:
----
  unrarsrc-5.4.3.tar.gz

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

Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.Mdf7an/_old  2016-07-24 19:54:00.000000000 +0200
+++ /var/tmp/diff_new_pack.Mdf7an/_new  2016-07-24 19:54:00.000000000 +0200
@@ -18,10 +18,10 @@
 
 # majorversion should match the major version number.
 %define majorversion 5
-%define libsuffix 5_4_2
+%define libsuffix 5_4_3
 
 Name:           unrar
-Version:        5.4.2
+Version:        5.4.3
 Release:        0
 Summary:        A program to extract, test, and view RAR archives
 License:        SUSE-NonFree
@@ -87,7 +87,7 @@
 %defattr(-,root,root)
 %doc acknow.txt license.txt readme.txt
 %{_bindir}/unrar
-%doc %{_mandir}/man1/unrar.1*
+%{_mandir}/man1/unrar.1%{ext_man}
 
 %files -n libunrar%{libsuffix}
 %defattr(-,root,root)

++++++ unrarsrc-5.4.2.tar.gz -> unrarsrc-5.4.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/blake2s.cpp new/unrar/blake2s.cpp
--- old/unrar/blake2s.cpp       2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/blake2s.cpp       2016-07-21 10:59:36.000000000 +0200
@@ -162,7 +162,7 @@
       memcpy( S->buf + left, in, (size_t)inlen );
       S->buflen += (size_t)inlen; // Be lazy, do not compress
       in += inlen;
-      inlen -= inlen;
+      inlen = 0;
     }
   }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc
--- old/unrar/dll.rc    2016-05-30 13:35:51.000000000 +0200
+++ new/unrar/dll.rc    2016-07-21 10:54:58.000000000 +0200
@@ -2,8 +2,8 @@
 #include <commctrl.h>
 
 VS_VERSION_INFO VERSIONINFO
-FILEVERSION 5, 40, 2, 1980
-PRODUCTVERSION 5, 40, 2, 1980
+FILEVERSION 5, 40, 4, 2032
+PRODUCTVERSION 5, 40, 4, 2032
 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.40.2\0"
-      VALUE "ProductVersion", "5.40.2\0"
+      VALUE "FileVersion", "5.40.4\0"
+      VALUE "ProductVersion", "5.40.4\0"
       VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2016\0"
       VALUE "OriginalFilename", "Unrar.dll\0"
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/hash.cpp new/unrar/hash.cpp
--- old/unrar/hash.cpp  2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/hash.cpp  2016-07-21 10:59:36.000000000 +0200
@@ -41,6 +41,7 @@
 
 DataHash::DataHash()
 {
+  blake2ctx=NULL;
   HashType=HASH_NONE;
 #ifdef RAR_SMP
   ThPool=NULL;
@@ -54,20 +55,26 @@
 #ifdef RAR_SMP
   DestroyThreadPool(ThPool);
 #endif
-  cleandata(&blake2ctx, sizeof(blake2ctx));
   cleandata(&CurCRC32, sizeof(CurCRC32));
+  if (blake2ctx!=NULL)
+  {
+    cleandata(blake2ctx, sizeof(blake2sp_state));
+    delete blake2ctx;
+  }
 }
 
 
 void DataHash::Init(HASH_TYPE Type,uint MaxThreads)
 {
+  if (blake2ctx==NULL)
+    blake2ctx=new blake2sp_state;
   HashType=Type;
   if (Type==HASH_RAR14)
     CurCRC32=0;
   if (Type==HASH_CRC32)
     CurCRC32=0xffffffff; // Initial CRC32 value.
   if (Type==HASH_BLAKE2)
-    blake2sp_init( &blake2ctx );
+    blake2sp_init(blake2ctx);
 #ifdef RAR_SMP
   DataHash::MaxThreads=Min(MaxThreads,MaxHashThreads);
 #endif
@@ -88,10 +95,10 @@
 #ifdef RAR_SMP
     if (MaxThreads>1 && ThPool==NULL)
       ThPool=CreateThreadPool();
-    blake2ctx.ThPool=ThPool;
-    blake2ctx.MaxThreads=MaxThreads;
+    blake2ctx->ThPool=ThPool;
+    blake2ctx->MaxThreads=MaxThreads;
 #endif
-    blake2sp_update( &blake2ctx, (byte *)Data, DataSize);
+    blake2sp_update( blake2ctx, (byte *)Data, DataSize);
   }
 }
 
@@ -106,8 +113,8 @@
   if (HashType==HASH_BLAKE2)
   {
     // Preserve the original context, so we can continue hashing if necessary.
-    blake2sp_state res=blake2ctx;
-    blake2sp_final( &res, Result->Digest );
+    blake2sp_state res=*blake2ctx;
+    blake2sp_final(&res,Result->Digest);
   }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/hash.hpp new/unrar/hash.hpp
--- old/unrar/hash.hpp  2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/hash.hpp  2016-07-21 10:59:36.000000000 +0200
@@ -29,7 +29,7 @@
   private:
     HASH_TYPE HashType;
     uint CurCRC32;
-    blake2sp_state blake2ctx;
+    blake2sp_state *blake2ctx;
 
 #ifdef RAR_SMP
     ThreadPool *ThPool;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/list.cpp new/unrar/list.cpp
--- old/unrar/list.cpp  2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/list.cpp  2016-07-21 10:59:36.000000000 +0200
@@ -77,7 +77,7 @@
 #ifndef SFX_MODULE
             // Only RAR 1.5 archives store the volume number in end record.
             if (Arc.EndArcHead.StoreVolNumber && Arc.Format==RARFMT15)
-              swprintf(VolNumText,ASIZE(VolNumText),L"%.10ls 
%d",St(MListVolume),Arc.VolNumber+1);
+              swprintf(VolNumText,ASIZE(VolNumText),L"%.10ls 
%u",St(MListVolume),Arc.VolNumber+1);
 #endif
             if (Technical && ShowService)
             {
@@ -149,9 +149,7 @@
         if (Cmd->VolSize!=0 && (Arc.FileHead.SplitAfter ||
             Arc.GetHeaderType()==HEAD_ENDARC && Arc.EndArcHead.NextVolume) &&
             MergeArchive(Arc,NULL,false,Cmd->Command[0]))
-        {
           Arc.Seek(0,SEEK_SET);
-        }
         else
 #endif
           break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/pathfn.cpp new/unrar/pathfn.cpp
--- old/unrar/pathfn.cpp        2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/pathfn.cpp        2016-07-21 10:59:37.000000000 +0200
@@ -733,16 +733,16 @@
 
   char Field[10][6];
 
-  sprintf(Field[0],"%04d",rlt.Year);
-  sprintf(Field[1],"%02d",rlt.Month);
-  sprintf(Field[2],"%02d",rlt.Day);
-  sprintf(Field[3],"%02d",rlt.Hour);
-  sprintf(Field[4],"%02d",rlt.Minute);
-  sprintf(Field[5],"%02d",rlt.Second);
-  sprintf(Field[6],"%02d",CurWeek);
-  sprintf(Field[7],"%d",WeekDay+1);
-  sprintf(Field[8],"%03d",rlt.yDay+1);
-  sprintf(Field[9],"%05d",ArcNumber);
+  sprintf(Field[0],"%04u",rlt.Year);
+  sprintf(Field[1],"%02u",rlt.Month);
+  sprintf(Field[2],"%02u",rlt.Day);
+  sprintf(Field[3],"%02u",rlt.Hour);
+  sprintf(Field[4],"%02u",rlt.Minute);
+  sprintf(Field[5],"%02u",rlt.Second);
+  sprintf(Field[6],"%02u",(uint)CurWeek);
+  sprintf(Field[7],"%u",(uint)WeekDay+1);
+  sprintf(Field[8],"%03u",rlt.yDay+1);
+  sprintf(Field[9],"%05u",ArcNumber);
 
   const wchar *MaskChars=L"YMDHISWAEN";
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/rdwrfn.cpp new/unrar/rdwrfn.cpp
--- old/unrar/rdwrfn.cpp        2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/rdwrfn.cpp        2016-07-21 10:59:37.000000000 +0200
@@ -2,6 +2,10 @@
 
 ComprDataIO::ComprDataIO()
 {
+#ifndef RAR_NOCRYPT
+  Crypt=new CryptData;
+  Decrypt=new CryptData;
+#endif
 
   Init();
 }
@@ -33,6 +37,13 @@
 }
 
 
+ComprDataIO::~ComprDataIO()
+{
+#ifndef RAR_NOCRYPT
+  delete Crypt;
+  delete Decrypt;
+#endif
+}
 
 
 
@@ -127,7 +138,7 @@
     ReadSize=TotalRead;
 #ifndef RAR_NOCRYPT
     if (Decryption)
-      Decrypt.DecryptBlock(Addr,ReadSize);
+      Decrypt->DecryptBlock(Addr,ReadSize);
 #endif
   }
   Wait();
@@ -273,9 +284,9 @@
 {
 #ifndef RAR_NOCRYPT
   if (Encrypt)
-    
Encryption=Crypt.SetCryptKeys(true,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
+    
Encryption=Crypt->SetCryptKeys(true,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
   else
-    
Decryption=Decrypt.SetCryptKeys(false,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
+    
Decryption=Decrypt->SetCryptKeys(false,Method,Password,Salt,InitV,Lg2Cnt,HashKey,PswCheck);
 #endif
 }
 
@@ -284,7 +295,7 @@
 void ComprDataIO::SetAV15Encryption()
 {
   Decryption=true;
-  Decrypt.SetAV15Encryption();
+  Decrypt->SetAV15Encryption();
 }
 #endif
 
@@ -293,7 +304,7 @@
 void ComprDataIO::SetCmt13Encryption()
 {
   Decryption=true;
-  Decrypt.SetCmt13Encryption();
+  Decrypt->SetCmt13Encryption();
 }
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/rdwrfn.hpp new/unrar/rdwrfn.hpp
--- old/unrar/rdwrfn.hpp        2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/rdwrfn.hpp        2016-07-21 10:59:37.000000000 +0200
@@ -38,8 +38,8 @@
     int64 *SubHeadPos;
 
 #ifndef RAR_NOCRYPT
-    CryptData Crypt;
-    CryptData Decrypt;
+    CryptData *Crypt;
+    CryptData *Decrypt;
 #endif
 
 
@@ -49,6 +49,7 @@
 
   public:
     ComprDataIO();
+    ~ComprDataIO();
     void Init();
     int UnpRead(byte *Addr,size_t Count);
     void UnpWrite(byte *Addr,size_t Count);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/recvol3.cpp new/unrar/recvol3.cpp
--- old/unrar/recvol3.cpp       2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/recvol3.cpp       2016-07-21 10:59:37.000000000 +0200
@@ -42,7 +42,11 @@
 {
   memset(SrcFile,0,sizeof(SrcFile));
   if (TestOnly)
+  {
+#ifdef RAR_SMP
     RSThreadPool=NULL;
+#endif
+  }
   else
   {
     Buf.Alloc(TotalBufferSize);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/recvol5.cpp new/unrar/recvol5.cpp
--- old/unrar/recvol5.cpp       2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/recvol5.cpp       2016-07-21 10:59:37.000000000 +0200
@@ -19,7 +19,11 @@
   }
 
   if (TestOnly)
+  {
+#ifdef RAR_SMP
     RecThreadPool=NULL;
+#endif
+  }
   else
   {
 #ifdef RAR_SMP
@@ -344,7 +348,11 @@
 
   RSCoder16 RS;
   if (!RS.Init(DataCount,RecCount,ValidFlags))
+  {
+    delete[] ValidFlags;
+    delete[] Data;
     return false; // Should not happen, we check parameter validity above.
+  }
 
   RealReadBuffer=new byte[RecBufferSize+SSE_ALIGNMENT];
   byte *ReadBuf=(byte *)ALIGN_VALUE(RealReadBuffer,SSE_ALIGNMENT);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/rs16.cpp new/unrar/rs16.cpp
--- old/unrar/rs16.cpp  2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/rs16.cpp  2016-07-21 10:59:37.000000000 +0200
@@ -215,6 +215,7 @@
 }
 
 
+#if 0
 // Multiply matrix to data vector. When encoding, it contains data in Data
 // and stores error correction codes in Out. When decoding it contains
 // broken data followed by ECC in Data and stores recovered data to Out.
@@ -252,6 +253,7 @@
     Out[I] = R;
   }
 }
+#endif
 
 
 // We update ECC in blocks by applying every data block to all ECC blocks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/rs16.hpp new/unrar/rs16.hpp
--- old/unrar/rs16.hpp  2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/rs16.hpp  2016-07-21 10:59:37.000000000 +0200
@@ -35,7 +35,9 @@
     ~RSCoder16();
 
     bool Init(uint DataCount, uint RecCount, bool *ValidityFlags);
+#if 0 // We use only UpdateECC now.
     void Process(const uint *Data, uint *Out);
+#endif
     void UpdateECC(uint DataNum, uint ECCNum, const byte *Data, byte *ECC, 
size_t BlockSize);
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/smallfn.cpp new/unrar/smallfn.cpp
--- old/unrar/smallfn.cpp       2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/smallfn.cpp       2016-07-21 10:59:37.000000000 +0200
@@ -3,7 +3,7 @@
 int ToPercent(int64 N1,int64 N2)
 {
   if (N2<N1)
-    return(100);
+    return 100;
   return ToPercentUnlim(N1,N2);
 }
 
@@ -12,7 +12,7 @@
 int ToPercentUnlim(int64 N1,int64 N2)
 {
   if (N2==0)
-    return(0);
+    return 0;
   return (int)(N1*100/N2);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/suballoc.cpp new/unrar/suballoc.cpp
--- old/unrar/suballoc.cpp      2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/suballoc.cpp      2016-07-21 10:59:37.000000000 +0200
@@ -66,8 +66,6 @@
 }
 
 
-
-
 void SubAllocator::StopSubAllocator()
 {
   if ( SubAllocatorSize ) 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/suballoc.hpp new/unrar/suballoc.hpp
--- old/unrar/suballoc.hpp      2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/suballoc.hpp      2016-07-21 10:59:37.000000000 +0200
@@ -57,7 +57,6 @@
     inline void* RemoveNode(int indx);
     inline uint U2B(int NU);
     inline void SplitBlock(void* pv,int OldIndx,int NewIndx);
-    uint GetUsedMemory();
     inline void GlueFreeBlocks();
     void* AllocUnitsRare(int indx);
     inline RARPPM_MEM_BLK* MBPtr(RARPPM_MEM_BLK *BasePtr,int Items);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack.cpp new/unrar/unpack.cpp
--- old/unrar/unpack.cpp        2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/unpack.cpp        2016-07-21 10:59:37.000000000 +0200
@@ -319,7 +319,7 @@
   
     // Find the upper limit for current bit field and adjust the bit length
     // accordingly if necessary.
-    while (BitField>=Dec->DecodeLen[CurBitLength] && 
CurBitLength<ASIZE(Dec->DecodeLen))
+    while (CurBitLength<ASIZE(Dec->DecodeLen) && 
BitField>=Dec->DecodeLen[CurBitLength])
       CurBitLength++;
 
     // Translation of right aligned bit string to bit length.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack30.cpp new/unrar/unpack30.cpp
--- old/unrar/unpack30.cpp      2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/unpack30.cpp      2016-07-21 10:59:37.000000000 +0200
@@ -419,7 +419,10 @@
   if (EmptyCount==0)
   {
     if (PrgStack.Size()>MAX3_UNPACK_FILTERS)
+    {
+      delete StackFilter;
       return false;
+    }
     PrgStack.Add(1);
     EmptyCount=1;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/unpack50mt.cpp new/unrar/unpack50mt.cpp
--- old/unrar/unpack50mt.cpp    2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/unpack50mt.cpp    2016-07-21 10:59:37.000000000 +0200
@@ -43,6 +43,7 @@
       {
         // Typical number of items in RAR blocks does not exceed 0x4000.
         CurData->DecodedAllocated=0x4100;
+        // It will be freed in the object destructor, not in this file.
         CurData->Decoded=(UnpackDecodedItem 
*)malloc(CurData->DecodedAllocated*sizeof(UnpackDecodedItem));
         if (CurData->Decoded==NULL)
           ErrHandler.MemoryError();
@@ -96,7 +97,6 @@
     if (ReadSize>0 && DataSize<TooSmallToProcess)
       continue;
 
-    bool BufferProcessed=false;
     while (BlockStart<DataSize && !Done)
     {
       uint BlockNumber=0,BlockNumberMT=0;
@@ -328,9 +328,10 @@
     if (D.DecodedSize>D.DecodedAllocated-8) // Filter can use several slots.
     {
       D.DecodedAllocated=D.DecodedAllocated*2;
-      D.Decoded=(UnpackDecodedItem 
*)realloc(D.Decoded,D.DecodedAllocated*sizeof(UnpackDecodedItem));
-      if (D.Decoded==NULL)
-        ErrHandler.MemoryError();
+      void 
*Decoded=realloc(D.Decoded,D.DecodedAllocated*sizeof(UnpackDecodedItem));
+      if (Decoded==NULL)
+        ErrHandler.MemoryError(); // D.Decoded will be freed in the destructor.
+      D.Decoded=(UnpackDecodedItem *)Decoded;
     }
 
     UnpackDecodedItem *CurItem=D.Decoded+D.DecodedSize++;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp
--- old/unrar/version.hpp       2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/version.hpp       2016-07-21 10:59:37.000000000 +0200
@@ -1,6 +1,6 @@
 #define RARVER_MAJOR     5
 #define RARVER_MINOR    40
-#define RARVER_BETA      2
-#define RARVER_DAY      30
-#define RARVER_MONTH     5
+#define RARVER_BETA      4
+#define RARVER_DAY      21
+#define RARVER_MONTH     7
 #define RARVER_YEAR   2016
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/unrar/win32stm.cpp new/unrar/win32stm.cpp
--- old/unrar/win32stm.cpp      2016-05-30 13:38:10.000000000 +0200
+++ new/unrar/win32stm.cpp      2016-07-21 10:59:37.000000000 +0200
@@ -89,9 +89,6 @@
   else
     wcsncpyz(FullName,FileName,ASIZE(FullName));
 
-  byte *Data=&Arc.SubHead.SubData[0];
-  size_t DataSize=Arc.SubHead.SubData.Size();
-
   wchar StreamName[NM];
   GetStreamNameNTFS(Arc,StreamName,ASIZE(StreamName));
   if (*StreamName!=':')


Reply via email to