- update archivers/libunrar port to 3.60.b6

- new added patch fix bug which can cause a crash on unpacking broken rar file
using RarOpenEX function (the problem also was reported to the vendor)

PR:		ports/100143
Submitted by:	maintainer
This commit is contained in:
Ion-Mihai Tetcu 2006-07-12 17:30:51 +00:00
parent 2fa2f357fc
commit b024ce7969
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=167591
3 changed files with 18 additions and 11 deletions

View file

@ -6,14 +6,14 @@
#
PORTNAME= libunrar
PORTVERSION= 3.60.b4
PORTVERSION= 3.60.b6
CATEGORIES= archivers
MASTER_SITES= http://files2.rarlab.com/rar/ \
http://files3.rarlab.com/rar/ \
http://files4.rarlab.com/rar/ \
http://files5.rarlab.com/rar/ \
http://files6.rarlab.com/rar/
DISTNAME= unrarsrc-3.6.4
DISTNAME= unrarsrc-3.6.6
MAINTAINER= samm@os2.kiev.ua
COMMENT= Library to work with RAR archivies

View file

@ -1,3 +1,3 @@
MD5 (unrarsrc-3.6.4.tar.gz) = 001602097819fdbe6aa3cf46af01d922
SHA256 (unrarsrc-3.6.4.tar.gz) = 625611fda1baec14f4fedffc2b8b8997caf6f3f360d843f6c1304a508a297e4a
SIZE (unrarsrc-3.6.4.tar.gz) = 124913
MD5 (unrarsrc-3.6.6.tar.gz) = 78d05f6a80626fe066fd2438b6fe2059
SHA256 (unrarsrc-3.6.6.tar.gz) = 246b4e61d29b90a2e3c80c34fe59b789efe8a8d7f58087d2a7ad057313d34975
SIZE (unrarsrc-3.6.6.tar.gz) = 125044

View file

@ -1,16 +1,23 @@
diff -ruN unrar.orig/dll.cpp unrar/dll.cpp
--- dll.cpp.orig 2005-08-03 20:34:30.000000000 +0400
+++ dll.cpp 2006-01-11 12:13:33.000000000 +0300
@@ -271,8 +271,10 @@
+++ dll.cpp
@@ -59,8 +59,8 @@
}
if (!Data->Arc.IsArchive(false))
{
- delete Data;
r->OpenResult=Data->Cmd.DllError!=0 ? Data->Cmd.DllError:ERAR_BAD_ARCHIVE;
+ delete Data;
return(NULL);
}
r->Flags=Data->Arc.NewMhd.Flags;
@@ -272,7 +272,9 @@
strcpy(Data->Cmd.Command,Operation==RAR_EXTRACT ? "X":"T");
Data->Cmd.Test=Operation!=RAR_EXTRACT;
bool Repeat=false;
- Data->Extract.ExtractCurrentFile(&Data->Cmd,Data->Arc,Data->HeaderSize,Repeat);
-
+
+ if(Data->Extract.ExtractCurrentFile(&Data->Cmd,Data->Arc,Data->HeaderSize,Repeat) == false)
+ return (ERAR_UNKNOWN);
+
while (Data->Arc.ReadHeader()!=0 && Data->Arc.GetHeaderType()==NEWSUB_HEAD)
{
Data->Extract.ExtractCurrentFile(&Data->Cmd,Data->Arc,Data->HeaderSize,Repeat);