ports/archivers/bzip2/patches/patch-bzip2_c

73 lines
2.3 KiB
Text
Raw Normal View History

2023-08-16 22:26:55 +00:00
--- bzip2.c.orig Sat Sep 11 00:04:53 2010
+++ bzip2.c Thu Oct 15 01:55:25 2015
@@ -1257,6 +1257,17 @@ void compress ( Char *name )
setExit(1);
return;
};
+ if (numFileNames == 1) { /* stdout, and only one input file */
+ if (pledge("stdio", NULL) == -1) {
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
+ } else {
+ if (pledge("stdio rpath", NULL) == -1) {
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
+ }
break;
case SM_F2F:
@@ -1434,6 +1445,17 @@ void uncompress ( Char *name )
setExit(1);
return;
};
+ if (numFileNames == 1) { /* stdout, and only one input file */
+ if (pledge("stdio", NULL) == -1) {
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
+ } else {
+ if (pledge("stdio rpath", NULL) == -1) {
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
+ }
break;
case SM_F2F:
@@ -1781,6 +1803,11 @@ IntNative main ( IntNative argc, Char *argv[] )
Cell *aa;
Bool decode;
+ if (pledge("stdio rpath wpath cpath fattr", NULL) == -1) {
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
+
/*-- Be really really really paranoid :-) --*/
if (sizeof(Int32) != 4 || sizeof(UInt32) != 4 ||
sizeof(Int16) != 2 || sizeof(UInt16) != 2 ||
@@ -1958,6 +1985,10 @@ IntNative main ( IntNative argc, Char *argv[] )
if (opMode == OM_Z) {
if (srcMode == SM_I2O) {
+ if (pledge("stdio", NULL) == -1) { /* stdin -> stdout */
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
compress ( NULL );
} else {
decode = True;
@@ -1974,6 +2005,10 @@ IntNative main ( IntNative argc, Char *argv[] )
if (opMode == OM_UNZ) {
unzFailsExist = False;
if (srcMode == SM_I2O) {
+ if (pledge("stdio", NULL) == -1) { /* stdin -> stdout */
+ fprintf ( stderr, "%s: pledge\n", progName );
+ exit ( 1 );
+ }
uncompress ( NULL );
} else {
decode = True;