Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package unrar for openSUSE:Factory:NonFree checked in at 2026-04-09 16:07:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old) and /work/SRC/openSUSE:Factory:NonFree/.unrar.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unrar" Thu Apr 9 16:07:30 2026 rev:120 rq:1345199 version:7.2.5 Changes: -------- --- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes 2026-02-23 16:11:18.254261598 +0100 +++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new.21863/unrar.changes 2026-04-09 16:09:33.545046169 +0200 @@ -1,0 +2,6 @@ +Tue Mar 24 21:58:57 UTC 2026 - Dirk Müller <[email protected]> + +- update to 7.2.5: + * No upstream changelog available + +------------------------------------------------------------------- Old: ---- unrarsrc-7.2.4.tar.gz New: ---- unrarsrc-7.2.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ unrar.spec ++++++ --- /var/tmp/diff_new_pack.EEogpF/_old 2026-04-09 16:09:48.813678410 +0200 +++ /var/tmp/diff_new_pack.EEogpF/_new 2026-04-09 16:09:48.817678576 +0200 @@ -18,9 +18,9 @@ # majorversion should match the major version number. %define majorversion 7 -%define libsuffix 7_2_4 +%define libsuffix 7_2_5 Name: unrar -Version: 7.2.4 +Version: 7.2.5 Release: 0 Summary: A program to extract, test, and view RAR archives License: NonFree ++++++ baselibs.conf ++++++ --- /var/tmp/diff_new_pack.EEogpF/_old 2026-04-09 16:09:48.869680729 +0200 +++ /var/tmp/diff_new_pack.EEogpF/_new 2026-04-09 16:09:48.873680895 +0200 @@ -1,2 +1,2 @@ -libunrar7_2_4 +libunrar7_2_5 ++++++ unrarsrc-7.2.4.tar.gz -> unrarsrc-7.2.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/arcread.cpp new/unrar/arcread.cpp --- old/unrar/arcread.cpp 2026-02-01 19:18:59.000000000 +0100 +++ new/unrar/arcread.cpp 2026-03-22 09:08:59.000000000 +0100 @@ -1505,7 +1505,7 @@ if (DestFile==NULL) { - if (SubHead.UnpSize>0x1000000) + if (SubHead.UnpSize<0 || SubHead.UnpSize>0x1000000) { // Prevent the excessive allocation. When reading to memory, normally // this function operates with reasonably small blocks, such as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/cmddata.cpp new/unrar/cmddata.cpp --- old/unrar/cmddata.cpp 2026-02-01 19:18:59.000000000 +0100 +++ new/unrar/cmddata.cpp 2026-03-22 09:08:59.000000000 +0100 @@ -869,6 +869,7 @@ switch(toupperw(Switch[1])) { case 0: + case '+': case '=': Solid|=SOLID_NORMAL; if (Switch[1]=='=') @@ -995,7 +996,10 @@ SetConsoleRedirectCharset(RedirectCharset); } break; - + default: + // 2026.03.11: User tried non-existent -s+ + BadSwitch(Switch); + break; } break; case 'T': diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.cpp new/unrar/dll.cpp --- old/unrar/dll.cpp 2026-02-01 19:18:59.000000000 +0100 +++ new/unrar/dll.cpp 2026-03-22 09:09:00.000000000 +0100 @@ -171,6 +171,12 @@ if (Data != NULL) delete Data; } + catch (std::length_error&) + { + r->OpenResult=ERAR_NO_MEMORY; + if (Data != NULL) + delete Data; + } return NULL; // To make compilers happy. } @@ -424,6 +430,10 @@ { return ERAR_NO_MEMORY; } + catch (std::length_error&) + { + return ERAR_NO_MEMORY; + } catch (RAR_EXIT ErrCode) { return Data->Cmd.DllError!=0 ? Data->Cmd.DllError : RarErrorToDll(ErrCode); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/dll.rc new/unrar/dll.rc --- old/unrar/dll.rc 2026-02-01 19:00:02.000000000 +0100 +++ new/unrar/dll.rc 2026-03-22 08:56:53.000000000 +0100 @@ -2,8 +2,8 @@ #include <commctrl.h> VS_VERSION_INFO VERSIONINFO -FILEVERSION 7, 20, 100, 1861 -PRODUCTVERSION 7, 20, 100, 1861 +FILEVERSION 7, 21, 1, 1910 +PRODUCTVERSION 7, 21, 1, 1910 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", "7.20.0\0" - VALUE "ProductVersion", "7.20.0\0" + VALUE "FileVersion", "7.21.1\0" + VALUE "ProductVersion", "7.21.1\0" VALUE "LegalCopyright", "Copyright � Alexander Roshal 1993-2026\0" VALUE "OriginalFilename", "Unrar.dll\0" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/extract.cpp new/unrar/extract.cpp --- old/unrar/extract.cpp 2026-02-01 19:19:00.000000000 +0100 +++ new/unrar/extract.cpp 2026-03-22 09:09:00.000000000 +0100 @@ -538,7 +538,8 @@ ExtrPrepareName(Arc,ArcFileName,DestFileName); // DestFileName can be set empty in case of excessive -ap switch. - ExtrFile=!SkipSolid && !DestFileName.empty() && !Arc.FileHead.SplitBefore; + // Also exclude empty archived names here. + ExtrFile=!SkipSolid && !ArcFileName.empty() && !DestFileName.empty() && !Arc.FileHead.SplitBefore; if ((Cmd->FreshFiles || Cmd->UpdateFiles) && (Command=='E' || Command=='X')) { @@ -1168,6 +1169,15 @@ void CmdExtract::ExtrPrepareName(Archive &Arc,const std::wstring &ArcFileName,std::wstring &DestName) { + if (ArcFileName.empty()) + { + // Return the empty destination for empty source. Extraction code skips + // empty archived names without creating the destination path and issuing + // "can't create the file" error message. + DestName.clear(); + return; + } + if (Cmd->Test) { // Destination name conversion isn't needed for simple archive test. @@ -1250,7 +1260,7 @@ // We do not use a user specified destination path when extracting // absolute paths in -ep3 mode. wchar DiskLetter=toupperw(CurName[0]); - if (CurName[1]=='_' && IsPathDiv(CurName[2]) && DiskLetter>='A' && DiskLetter<='Z') + if (DiskLetter>='A' && DiskLetter<='Z' && CurName[1]=='_' && IsPathDiv(CurName[2])) DestName=CurName.substr(0,1) + L':' + CurName.substr(2); else if (CurName[0]=='_' && CurName[1]=='_') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/os.hpp new/unrar/os.hpp --- old/unrar/os.hpp 2026-02-01 19:19:00.000000000 +0100 +++ new/unrar/os.hpp 2026-03-22 09:09:01.000000000 +0100 @@ -13,6 +13,7 @@ #include <string> #include <vector> #include <deque> +#include <stdexcept> // For std::length_error. #include <memory> // For automatic pointers. #include <algorithm> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/pathfn.cpp new/unrar/pathfn.cpp --- old/unrar/pathfn.cpp 2026-02-01 19:19:00.000000000 +0100 +++ new/unrar/pathfn.cpp 2026-03-22 09:09:01.000000000 +0100 @@ -1176,8 +1176,8 @@ std::wstring OrigName=Name; Name.insert(I,1,'_'); #ifndef SFX_MODULE - uiMsg(UIMSG_CORRECTINGNAME,nullptr); - uiMsg(UIERROR_RENAMING,nullptr,OrigName,Name); + uiMsg(UIMSG_CORRECTINGNAME,L""); + uiMsg(UIERROR_RENAMING,L"",OrigName,Name); #endif } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/rar.cpp new/unrar/rar.cpp --- old/unrar/rar.cpp 2026-02-01 19:19:01.000000000 +0100 +++ new/unrar/rar.cpp 2026-03-22 09:09:01.000000000 +0100 @@ -92,6 +92,11 @@ ErrHandler.MemoryErrorMsg(); ErrHandler.SetErrorCode(RARX_MEMORY); } + catch (std::length_error&) + { + ErrHandler.MemoryErrorMsg(); + ErrHandler.SetErrorCode(RARX_MEMORY); + } catch (...) { ErrHandler.SetErrorCode(RARX_FATAL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unrar/version.hpp new/unrar/version.hpp --- old/unrar/version.hpp 2026-02-01 19:19:02.000000000 +0100 +++ new/unrar/version.hpp 2026-03-22 09:09:02.000000000 +0100 @@ -1,6 +1,6 @@ #define RARVER_MAJOR 7 -#define RARVER_MINOR 20 -#define RARVER_BETA 0 -#define RARVER_DAY 1 -#define RARVER_MONTH 2 +#define RARVER_MINOR 21 +#define RARVER_BETA 1 +#define RARVER_DAY 22 +#define RARVER_MONTH 3 #define RARVER_YEAR 2026
