socsvn commit: r257094 - soc2013/dpl/head/contrib/bzip2
dpl at FreeBSD.org
dpl at FreeBSD.org
Sat Sep 7 19:11:50 UTC 2013
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);
More information about the svn-soc-all
mailing list