shared/cdiff.c, sigtool/sigtool.c: fix error path double frees (bb#2280, bb#2281)

0.96
Tomasz Kojm 15 years ago
parent 4928e69b7d
commit 4bc4581d6e
  1. 5
      ChangeLog
  2. 12
      shared/cdiff.c
  3. 1
      sigtool/sigtool.c

@ -1,3 +1,8 @@
Tue Sep 21 16:13:27 CEST 2010 (tk)
----------------------------------
* shared/cdiff.c, sigtool/sigtool.c: fix error path double frees
(bb#2280, bb#2281)
Mon Sep 20 17:09:37 CEST 2010 (tk)
----------------------------------
* V 0.96.3

@ -934,8 +934,16 @@ int cdiff_apply(int fd, unsigned short mode)
logg("!cdiff_apply: Can't resize line buffer to %d bytes\n", line_size);
cdiff_ctx_free(&ctx);
gzclose(gzh);
free(line);
free(lbuf);
if(!r1 && !r2) {
free(line);
free(lbuf);
} else if(!r1) {
free(line);
free(r2);
} else {
free(r1);
free(lbuf);
}
return -1;
}
line = r1;

@ -683,7 +683,6 @@ static int build(const struct optstruct *opts)
lspt->name = strdup(dent->d_name);
if(!lspt->name) {
FREE_LS(dblist2);
free(lspt);
mprintf("!build: Memory allocation error\n");
return -1;
}

Loading…
Cancel
Save