Date: Sat, 7 Sep 2013 19:11:50 GMT From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r257094 - soc2013/dpl/head/contrib/bzip2 Message-ID: <201309071911.r87JBou2088492@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dpl Date: Sat Sep 7 19:11:50 2013 New Revision: 257094 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257094 Log: Updated bzip2 to cope with the current Capsicum interface. Modified: soc2013/dpl/head/contrib/bzip2/bzip2.c Modified: soc2013/dpl/head/contrib/bzip2/bzip2.c ============================================================================== --- soc2013/dpl/head/contrib/bzip2/bzip2.c Sat Sep 7 18:55:52 2013 (r257093) +++ soc2013/dpl/head/contrib/bzip2/bzip2.c Sat Sep 7 19:11:50 2013 (r257094) @@ -670,17 +670,23 @@ { cap_rights_t rights; + cap_rights_init(&rights); if (fd == OUT_FILENO) - rights = CAP_READ|CAP_FSTAT|CAP_WRITE|CAP_FCHMOD|CAP_FCHOWN|CAP_FUTIMES; + cap_rights_set(&rights, CAP_READ|CAP_FSTAT|CAP_WRITE|CAP_FCHMOD|CAP_FCHOWN|CAP_FUTIMES); else if (fd == IN_FILENO) - rights = CAP_WRITE|CAP_READ|CAP_FSTAT; + cap_rights_set(&rights, CAP_WRITE|CAP_READ|CAP_FSTAT); else if (fd == STDERR_FILENO) - rights = CAP_WRITE; - else if ( fd == cwd ) - rights = CAP_UNLINKAT|CAP_LOOKUP; + cap_rights_set(&rights, CAP_WRITE); + else if (fd == cwd) + cap_rights_set(&rights, CAP_UNLINKAT|CAP_LOOKUP); + else { + fprintf (stderr, "%s: Wrong file descriptor.\n", progName); + setExit(1); + exit(exitValue); + } - if (cap_rights_limit(fd, rights) < 0 && errno != ENOSYS){ - fprintf ( stderr, "%s: Couldn't limit rights for descriptor %d: %s.\n", + if (cap_rights_limit(fd, &rights) < 0 && errno != ENOSYS){ + fprintf (stderr, "%s: Couldn't limit rights for descriptor %d: %s.\n", progName, fd, strerror(errno)); setExit(1); exit(exitValue);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309071911.r87JBou2088492>