socsvn commit: r259106 - soc2013/dpl/head/usr.bin/bsdiff/bsdiff
dpl at FreeBSD.org
dpl at FreeBSD.org
Mon Oct 28 11:16:59 UTC 2013
Author: dpl
Date: Mon Oct 28 11:16:58 2013
New Revision: 259106
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=259106
Log:
Use only one right and make the fd have coherent names.
Modified:
soc2013/dpl/head/usr.bin/bsdiff/bsdiff/bsdiff.c
Modified: soc2013/dpl/head/usr.bin/bsdiff/bsdiff/bsdiff.c
==============================================================================
--- soc2013/dpl/head/usr.bin/bsdiff/bsdiff/bsdiff.c Mon Oct 28 10:32:14 2013 (r259105)
+++ soc2013/dpl/head/usr.bin/bsdiff/bsdiff/bsdiff.c Mon Oct 28 11:16:58 2013 (r259106)
@@ -197,7 +197,7 @@
int main(int argc,char *argv[])
{
- int first, second;
+ int oldfd,newfd;
u_char *old,*new;
off_t oldsize,newsize;
off_t *I,*V;
@@ -218,35 +218,40 @@
if(argc!=4) errx(1,"usage: %s oldfile newfile patchfile\n",argv[0]);
- if ((first = open(argv[1],O_RDONLY|O_BINARY,0)) < 0)
+ /* Capsicum */
+ if ((oldfd = open(argv[1],O_RDONLY|O_BINARY,0)) < 0)
err(1,"%s",argv[1]);
- if ((second = open(argv[2], O_RDONLY|O_BINARY, 0)) < 0)
+ if ((newfd = open(argv[2],O_RDONLY|O_BINARY,0)) < 0)
err(1,"%s",argv[1]);
/* Create the patch file */
- if ((pf = fopen(argv[3], "wb")) == NULL)
- err(1, "%s", argv[3]);
+ if ((pf = fopen(argv[3],"wb")) == NULL)
+ err(1,"%s",argv[3]);
- cap_rights_init(&rights, CAP_READ, CAP_SEEK);
-
- if (cap_rights_limit(first, &filerights) < 0 && errno != ENOSYS)
- err(1, "Couldn't limit fd");
- if (cap_rights_limit(second, &filerights) < 0 && errno != ENOSYS)
- err(1, "Couldn't limit fd");
-
- cap_rights_set(&rights, CAP_WRITE, CAP_SEEK);
- if (cap_rights_limit(fileno(pf), &pathrights) < 0 && errno != ENOSYS)
- err(1, "Couldn't limit fd");
+ cap_rights_init(&rights,CAP_READ,CAP_SEEK);
+ if (cap_rights_limit(oldfd,&filerights) < 0 && errno != ENOSYS)
+ err(1,"Couldn't limit fd");
+ if (cap_rights_limit(newfd,&filerights) < 0 && errno != ENOSYS)
+ err(1,"Couldn't limit fd");
+
+ cap_rights_init(&rights,CAP_WRITE,CAP_SEEK);
+ if (cap_rights_limit(fileno(pf),&pathrights) < 0 && errno != ENOSYS)
+ err(1,"Couldn't limit fd");
if (cap_enter() < 0 && errno != ENOSYS)
- err(1, "Couldn't enter capability mode");
+ err(1,"Couldn't enter capability mode");
/* Allocate oldsize+1 bytes instead of oldsize bytes to ensure
that we never try to malloc(0) and get a NULL pointer */
- if(((oldsize=lseek(first,0,SEEK_END))==-1) ||
- ((old=malloc(oldsize+1))==NULL) ||
- (lseek(first,0,SEEK_SET)!=0) ||
- (read(first,old,oldsize)!=oldsize) ||
- (close(first)==-1)) err(1,"%s",argv[1]);
+ if ((oldsize = lseek(oldfd,0,SEEK_END)) == -1)
+ err(1,"%s",argv[1]);
+ if ((old = malloc(oldsize + 1)) == NULL)
+ err(1,"%s",argv[1]);
+ if ((lseek(oldfd,0,SEEK_SET) != 0)
+ err(1,"%s",argv[1]);
+ if (read(oldfd,old,oldsize) != oldsize)
+ err(1,"%s",argv[1]);
+ if (close(oldfd) == -1)
+ err(1,"%s",argv[1]);
if(((I=malloc((oldsize+1)*sizeof(off_t)))==NULL) ||
((V=malloc((oldsize+1)*sizeof(off_t)))==NULL)) err(1,NULL);
@@ -257,11 +262,16 @@
/* Allocate newsize+1 bytes instead of newsize bytes to ensure
that we never try to malloc(0) and get a NULL pointer */
- if(((newsize=lseek(second,0,SEEK_END))==-1) ||
- ((new=malloc(newsize+1))==NULL) ||
- (lseek(second,0,SEEK_SET)!=0) ||
- (read(second,new,newsize)!=newsize) ||
- (close(second)==-1)) err(1,"%s",argv[2]);
+ if ((newsize = lseek(newfd,0,SEEK_END)) == -1)
+ err(1,"%s",argv[1]);
+ if ((old = malloc(newsize + 1)) == NULL)
+ err(1,"%s",argv[1]);
+ if ((lseek(newfd,0,SEEK_SET) != 0)
+ err(1,"%s",argv[1]);
+ if (read(newfd,old,newsize) != newsize)
+ err(1,"%s",argv[1]);
+ if (close(newfd) == -1)
+ err(1,"%s",argv[1]);
if(((db=malloc(newsize+1))==NULL) ||
((eb=malloc(newsize+1))==NULL)) err(1,NULL);
@@ -288,8 +298,15 @@
/* Compute the differences, writing ctrl as we go */
if ((pfbz2 = BZ2_bzWriteOpen(&bz2err, pf, 9, 0, 0)) == NULL)
errx(1, "BZ2_bzWriteOpen, bz2err = %d", bz2err);
- scan=0;len=0;pos=0;
- lastscan=0;lastpos=0;lastoffset=0;
+
+ scan=0;
+ len=0;
+ pos=0;
+
+ lastscan=0;
+ lastpos=0;
+ lastoffset=0;
+
while(scan<newsize) {
oldscore=0;
More information about the svn-soc-all
mailing list