From 12ed8a1f566d8c2020b988462db74435c716088a Mon Sep 17 00:00:00 2001 From: mdw Date: Thu, 11 Nov 2004 00:57:31 +0000 Subject: [PATCH] Fix a number of free/xfree bugs. --- gfx-kmul.c | 4 ++-- gfx-sqr.c | 4 ++-- gfx.c | 8 ++++---- hash.h | 4 ++-- key-attr.c | 10 +++++----- key-fetch.c | 4 ++-- key-pass.c | 6 +++--- lmem.c | 4 ++-- mpcrt.c | 6 +++--- mpx-kmul.c | 4 ++-- mpx-ksqr.c | 4 ++-- mpx.c | 24 ++++++++++++------------ pixie-client.c | 6 +++--- pixie.c | 4 ++-- 14 files changed, 46 insertions(+), 46 deletions(-) diff --git a/gfx-kmul.c b/gfx-kmul.c index aaf1109..940243d 100644 --- a/gfx-kmul.c +++ b/gfx-kmul.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: gfx-kmul.c,v 1.4 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Karatsuba's multiplication algorithm on binary polynomials * @@ -229,7 +229,7 @@ static int mul(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); free(s); + xfree(a); xfree(b); xfree(c); xfree(d); xfree(s); return (ok); } diff --git a/gfx-sqr.c b/gfx-sqr.c index 6acc4a3..c0396a0 100644 --- a/gfx-sqr.c +++ b/gfx-sqr.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: gfx-sqr.c,v 1.4 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Sqaring binary polynomials * @@ -194,7 +194,7 @@ static int vsqr(dstr *v) ok = 0; } - free(a); free(b); free(d); + xfree(a); xfree(b); xfree(d); return (ok); } diff --git a/gfx.c b/gfx.c index 0fabd5c..40f639d 100644 --- a/gfx.c +++ b/gfx.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: gfx.c,v 1.2 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Low-level arithmetic on binary polynomials * @@ -309,7 +309,7 @@ static int vadd(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); + xfree(a); xfree(b); xfree(c); xfree(d); return (ok); } @@ -336,7 +336,7 @@ static int vmul(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); + xfree(a); xfree(b); xfree(c); xfree(d); return (ok); } @@ -367,7 +367,7 @@ static int vdiv(dstr *v) ok = 0; } - free(a); free(b); free(r); free(q); free(qq); + xfree(a); xfree(b); xfree(r); xfree(q); xfree(qq); return (ok); } diff --git a/hash.h b/hash.h index 9c81a44..881feeb 100644 --- a/hash.h +++ b/hash.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: hash.h,v 1.5 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Generic handling for message digest functions * @@ -247,7 +247,7 @@ static int verifyrep(dstr *v) \ putchar('\n'); \ ok = 0; \ } \ - free(p); \ + xfree(p); \ dstr_destroy(&d); \ return (ok); \ } \ diff --git a/key-attr.c b/key-attr.c index 7057570..27f4490 100644 --- a/key-attr.c +++ b/key-attr.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: key-attr.c,v 1.5 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Key attribute manipulation * @@ -168,10 +168,10 @@ int key_putattr(key_file *f, key *k, const char *n, const char *v) if (v) { a = sym_find(&k->a, n, -1, sizeof(*a), &found); if (found) - free(a->p); + xfree(a->p); a->p = xstrdup(v); } else if ((a = sym_find(&k->a, n, -1, 0, 0)) != 0) { - free(a->p); + xfree(a->p); sym_remove(&k->a, a); } @@ -197,7 +197,7 @@ int key_setcomment(key_file *f, key *k, const char *c) if (key_chkcomment(c)) return (KERR_BADCOMMENT); if (k->c) - free(k->c); + xfree(k->c); if (c) k->c = xstrdup(c); else @@ -251,7 +251,7 @@ int key_settag(key_file *f, key *k, const char *tag) kr = sym_find(&f->bytag, k->tag, -1, 0, 0); assert(((void)"No bytag link", kr)); sym_remove(&f->bytag, kr); - free(k->tag); + xfree(k->tag); } /* --- Done --- */ diff --git a/key-fetch.c b/key-fetch.c index 8972603..d80382f 100644 --- a/key-fetch.c +++ b/key-fetch.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: key-fetch.c,v 1.2 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Higher-level key unpacking * @@ -200,7 +200,7 @@ void key_fetchdone(key_packdef *kp) offsetof(key_packstruct, kp)); key_unpackdone(kp); if (kps->name) - free(kps); + xfree(kps); } /*----- That's all, folks -------------------------------------------------*/ diff --git a/key-pass.c b/key-pass.c index 7e02daf..bdc992a 100644 --- a/key-pass.c +++ b/key-pass.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: key-pass.c,v 1.5 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Encrypting keys with passphrases * @@ -226,14 +226,14 @@ int key_punlock(const char *tag, key_data *k, key_data *kt) /* --- Done --- */ - free(p); + xfree(p); return (0); /* --- Tidy up if things went wrong --- */ fail: BURN(b); - free(p); + xfree(p); return (-1); } diff --git a/lmem.c b/lmem.c index 1d4ae87..ed79630 100644 --- a/lmem.c +++ b/lmem.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: lmem.c,v 1.6 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Locked memory allocation (Unix-specific) * @@ -310,7 +310,7 @@ void l_destroy(lmem *lm) if (lm->f & LF_LOCKED) munmap(lm->p, lm->sz); else - free(lm->p); + free(lm->p); /*sic*/ } /* --- @l_report@ --- * diff --git a/mpcrt.c b/mpcrt.c index c79b00b..8c5efbd 100644 --- a/mpcrt.c +++ b/mpcrt.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpcrt.c,v 1.6 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Chinese Remainder Theorem computations (Gauss's algorithm) * @@ -245,8 +245,8 @@ static int verify(size_t n, dstr *v) mp_drop(a); mp_drop(b); mpcrt_destroy(&c); - free(m); - free(r); + xfree(m); + xfree(r); assert(mparena_count(MPARENA_GLOBAL) == 0); return (ok); } diff --git a/mpx-kmul.c b/mpx-kmul.c index fbc1b02..94a2cda 100644 --- a/mpx-kmul.c +++ b/mpx-kmul.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpx-kmul.c,v 1.10 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Karatsuba's multiplication algorithm * @@ -229,7 +229,7 @@ static int umul(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); free(s); + xfree(a); xfree(b); xfree(c); xfree(d); xfree(s); return (ok); } diff --git a/mpx-ksqr.c b/mpx-ksqr.c index fb59d0d..92fd0cc 100644 --- a/mpx-ksqr.c +++ b/mpx-ksqr.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpx-ksqr.c,v 1.8 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Karatsuba-based squaring algorithm * @@ -193,7 +193,7 @@ static int usqr(dstr *v) ok = 0; } - free(a); free(c); free(d); free(s); + xfree(a); xfree(c); xfree(d); xfree(s); return (ok); } diff --git a/mpx.c b/mpx.c index e122760..5fc522a 100644 --- a/mpx.c +++ b/mpx.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mpx.c,v 1.20 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Low-level multiprecision arithmetic * @@ -1421,7 +1421,7 @@ static int loadstore(dstr *v) if (!ok) dumpbits("input data", v->buf, v->len); - free(m); + xfree(m); dstr_destroy(&d); return (ok); } @@ -1459,7 +1459,7 @@ static int twocl(dstr *v) dumpbits("neg", v[1].buf, v[1].len); } - free(m); + xfree(m); dstr_destroy(&d); return (ok); @@ -1498,7 +1498,7 @@ static int twocb(dstr *v) dumpbits("neg", v[1].buf, v[1].len); } - free(m); + xfree(m); dstr_destroy(&d); return (ok); @@ -1525,7 +1525,7 @@ static int lsl(dstr *v) ok = 0; } - free(a); free(c); free(d); + xfree(a); xfree(c); xfree(d); return (ok); } @@ -1550,7 +1550,7 @@ static int lslc(dstr *v) ok = 0; } - free(a); free(c); free(d); + xfree(a); xfree(c); xfree(d); return (ok); } @@ -1575,7 +1575,7 @@ static int lsr(dstr *v) ok = 0; } - free(a); free(c); free(d); + xfree(a); xfree(c); xfree(d); return (ok); } @@ -1602,7 +1602,7 @@ static int uadd(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); + xfree(a); xfree(b); xfree(c); xfree(d); return (ok); } @@ -1629,7 +1629,7 @@ static int usub(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); + xfree(a); xfree(b); xfree(c); xfree(d); return (ok); } @@ -1656,7 +1656,7 @@ static int umul(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); + xfree(a); xfree(b); xfree(c); xfree(d); return (ok); } @@ -1680,7 +1680,7 @@ static int usqr(dstr *v) ok = 0; } - free(a); free(c); free(d); + xfree(a); xfree(c); xfree(d); return (ok); } @@ -1713,7 +1713,7 @@ static int udiv(dstr *v) ok = 0; } - free(a); free(b); free(r); free(q); free(s); free(qq); + xfree(a); xfree(b); xfree(r); xfree(q); xfree(s); xfree(qq); return (ok); } diff --git a/pixie-client.c b/pixie-client.c index 1597426..73558ff 100644 --- a/pixie-client.c +++ b/pixie-client.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: pixie-client.c,v 1.3 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Simple passphrase pixie client (Unix-specific) * @@ -73,13 +73,13 @@ int pixie_open(const char *sock) sun = pixie_address(sock, &sz); if (connect(fd, (struct sockaddr *)sun, sz)) goto fail_1; - free(sun); + xfree(sun); return (fd); /* --- Tidy up if things went wrong --- */ fail_1: - free(sun); + xfree(sun); close(fd); fail_0: return (-1); diff --git a/pixie.c b/pixie.c index 2ce007d..beac67c 100644 --- a/pixie.c +++ b/pixie.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: pixie.c,v 1.14 2004/04/08 01:36:15 mdw Exp $ + * $Id$ * * Passphrase pixie for Catacomb * @@ -154,7 +154,7 @@ static void p_free(phrase *p) { if (p->t) sel_rmtimer(&p->timer); - free(p->tag); + xfree(p->tag); l_free(&lm, p->p); p->next->prev = p->prev; p->prev->next = p->next; -- 2.11.0