summaryrefslogtreecommitdiff
path: root/bspatch.c
diff options
context:
space:
mode:
authorMatthew Endsley <mendsley@gmail.com>2012-05-13 23:28:47 -0700
committerMatthew Endsley <mendsley@gmail.com>2012-05-14 01:42:28 -0700
commit21872ace7c862487f682be0c3efb1658c595627a (patch)
tree1d3d968582dafabcc7fa2a6c43cd183996c2d081 /bspatch.c
parent9e42fa58dbb3847ae71cfbba0800184b755f0c9e (diff)
downloadbsdiff-21872ace7c862487f682be0c3efb1658c595627a.tar.gz
reducing header to signature+newsize
Diffstat (limited to 'bspatch.c')
-rw-r--r--bspatch.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/bspatch.c b/bspatch.c
index 423283b..d75c74c 100644
--- a/bspatch.c
+++ b/bspatch.c
@@ -184,8 +184,7 @@ int main(int argc,char * argv[])
FILE * f;
int fd;
int bz2err;
- ssize_t bzctrllen,bzdatalen;
- uint8_t header[32];
+ uint8_t header[16];
uint8_t *old;
struct bspatch_request req;
struct bspatch_bz2_buffer bz2;
@@ -199,7 +198,7 @@ int main(int argc,char * argv[])
err(1, "fopen(%s)", argv[3]);
/* Read header */
- if (fread(header, 1, 32, f) < 32) {
+ if (fread(header, 1, 16, f) != 16) {
if (feof(f))
errx(1, "Corrupt patch\n");
err(1, "fread(%s)", argv[3]);
@@ -210,10 +209,8 @@ int main(int argc,char * argv[])
errx(1, "Corrupt patch\n");
/* Read lengths from header */
- bzctrllen=offtin(header+8);
- bzdatalen=offtin(header+16);
- req.newsize=offtin(header+24);
- if((bzctrllen<0) || (bzdatalen<0) || (req.newsize<0))
+ req.newsize=offtin(header+8);
+ if(req.newsize<0)
errx(1,"Corrupt patch\n");
/* Close patch file and re-open it via libbzip2 at the right places */