socsvn commit: r253331 - soc2013/dpl/head/contrib/bzip2

dpl at FreeBSD.org dpl at FreeBSD.org
Fri Jun 21 22:34:18 UTC 2013


Author: dpl
Date: Fri Jun 21 22:34:17 2013
New Revision: 253331
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=253331

Log:
  Declare things only if we're going to use them.
  

Modified:
  soc2013/dpl/head/contrib/bzip2/bzip2.c

Modified: soc2013/dpl/head/contrib/bzip2/bzip2.c
==============================================================================
--- soc2013/dpl/head/contrib/bzip2/bzip2.c	Fri Jun 21 21:59:58 2013	(r253330)
+++ soc2013/dpl/head/contrib/bzip2/bzip2.c	Fri Jun 21 22:34:17 2013	(r253331)
@@ -223,8 +223,15 @@
 
 #ifdef CAPSICUM
 int sv[2], len;
-struct sockaddr_un sock, remoteSock;
-char *sockPath = "/tmp/bzip2";
+struct cmsghdr  *cmsg;
+
+cmsg->cmsg_level = SOL_SOCKET;
+cmsg->cmsg_type = SOL_RIGHTS;
+struct msghdr   msg;
+msg.msg_name = NULL;
+msg.msg_namelen = 0;
+msg.msg_iov = NULL;
+msg.msg_iovlen = 0;
 #endif
 
 static void    panic                 ( const Char* ) NORETURN;
@@ -980,9 +987,9 @@
    FILE*     fp;
    IntNative fh;
    fh = open(name, O_WRONLY|O_CREAT|O_EXCL, S_IWUSR|S_IRUSR);
-/*#  ifdef CAPSICUM*/
+#  ifdef CAPSICUM
    cap_rights_limit(fh, CAP_WRITE);
-/*#  endif*/
+#  endif
    if (fh == -1) return NULL;
    fp = fdopen(fh, mode);
    if (fp == NULL) close(fh);
@@ -1154,7 +1161,11 @@
 {
    FILE  *inStr;
    FILE  *outStr;
-   Int32 n, i, forkpid, infd;
+   Int32 n, i;
+#  ifdef CAPSICUM
+   Int32 infd;
+   pid_t forkpid;
+#  endif
    struct MY_STAT statBuf;
 
    deleteOutputOnInterrupt = False;
@@ -1248,7 +1259,6 @@
 		 cap_rights_limit(infd, CAP_READ);
          inStr = fdopen ( infd, "rb" );
 #	else
-		 infd = NULL;
          inStr = fopen ( inName, "rb" );
 #	endif
    }
@@ -1357,11 +1367,8 @@
 
 	  default:
 		 /* Send the two FDs */
+		 sendmsg();
          wait(NULL);
-         if ( -1 == unlink(sock.sun_path) && errno != ENOENT ){
-           fprintf ( stderr, "%s: Can't unlink socket: %s.\n", progName, strerror(errno) );
-      	   exit(1);
-         }
          return;
    }
 #  endif
@@ -1375,7 +1382,11 @@
 {
    FILE  *inStr;
    FILE  *outStr;
-   Int32 n, i, infd;
+   Int32 n, i;
+#  ifdef CAPSICUM
+   Int32 infd;
+   pid_t forkpid;
+#  endif
    Bool  magicNumberOK;
    Bool  cantGuess;
    struct MY_STAT statBuf;
@@ -1471,10 +1482,9 @@
    if ( srcMode != SM_I2O ){
 #	ifdef CAPSICUM
 		 infd = open( inName, O_RDONLY );
-		 /*cap_rights_limit(infd, CAP_READ);*/
+		 cap_rights_limit(infd, CAP_READ);
          inStr = fdopen ( infd, "rb" );
 #	else
-		 infd = NULL;
          inStr = fopen ( inName, "rb" );
 #	endif
    }
@@ -2027,9 +2037,6 @@
 
 #  ifdef CAPSICUM
 
-   sock.sun_family = PF_LOCAL;
-   strncpy(sock.sun_path, sockPath, sizeof(sock.sun_path));
-   
    if ( socketpair(PF_LOCAL, SOCK_STREAM, 0, sv) == -1 ){
       fprintf ( stderr, "%s: Can't create socket: %s.\n", progName, strerror(errno) );
 	  exit(1);


More information about the svn-soc-all mailing list