Fix a number of free/xfree bugs.
authormdw <mdw>
Thu, 11 Nov 2004 00:57:31 +0000 (00:57 +0000)
committermdw <mdw>
Thu, 11 Nov 2004 00:57:31 +0000 (00:57 +0000)
14 files changed:
gfx-kmul.c
gfx-sqr.c
gfx.c
hash.h
key-attr.c
key-fetch.c
key-pass.c
lmem.c
mpcrt.c
mpx-kmul.c
mpx-ksqr.c
mpx.c
pixie-client.c
pixie.c

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