1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Provide a patch that moves 'found_trav' variable initialisations to the start

of code blocks to drop gcc 3.2 dependency on 4.x. Bump PORTREVISION.

PR:		105832
Submitted by:	Eugene Grosbein <eugen@grosbein.pp.ru>
This commit is contained in:
Emanuel Haupt 2006-11-24 23:49:46 +00:00
parent b5d6bf4db4
commit 470f75f1f8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=178007
2 changed files with 49 additions and 3 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= unzoo
PORTVERSION= 4.4
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= archivers
MASTER_SITES= ${MASTER_SITE_DEBIAN_POOL}
DISTNAME= ${PORTNAME}_${PORTVERSION}.orig
@ -19,8 +19,6 @@ PATCH_DIST_STRIP= -p1
MAINTAINER= ehaupt@FreeBSD.org
COMMENT= A zoo archive extractor
USE_GCC= 3.2+
EXTRA_DEFINES= -DSYS_IS_UNIX -DSYS_HAS_MKDIR
MAN1= unzoo.1

View File

@ -0,0 +1,48 @@
--- unzoo.c.orig Sat Nov 25 00:53:57 2006
+++ unzoo.c Sat Nov 25 01:00:42 2006
@@ -2590,20 +2590,20 @@
/* but only if the user did not request otherwise */
/* building the universal path of this member */
+ int found_trav = 0;
char patu [sizeof(Entry.diru) + sizeof(Entry.namu) + 2];
strcpy( patu, Entry.diru );
if ( strlen(patu) && patu[strlen(patu)-1] != '/') strcat( patu, "/" );
strcat( patu, (Entry.lnamu ? Entry.namu : Entry.nams) );
- int found_trav = 0;
if ( strstr( patu, "/../" )) {
- found_trav = 1;
/* remove "/../" from the path */
char tmp [sizeof(patu)];
char *p;
char *q;
+ found_trav = 1;
memset(tmp, 0, sizeof(tmp));
q = patu;
@@ -2625,10 +2625,10 @@
printf("unzoo: skipped \"/../\" path component(s) in '%s'\n", Entry.patl);
}
if ( *patu == '/' && !strlen( pre ) ) {
- found_trav = 1;
char *p = malloc(sizeof(patu));
char *q = p;
+ found_trav = 1;
memset(p, 0, sizeof(patu));
strcpy(p, patu);
while ( q[0] == '/' ) q++;
@@ -2638,9 +2638,9 @@
printf("unzoo: skipped root directory path component in '%s'\n", patl);
}
if ( !strncmp( patu, "../", 3 )) {
- found_trav = 1;
char tmp [sizeof(patu)];
+ found_trav = 1;
memset(tmp, 0, sizeof(tmp));
strcpy(tmp, patu + 3);
strcpy(patu, tmp);