chiark / gitweb /
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 aaf1109902e7f39683931f4f03ca4e994331a299..940243d38c9c1331a42ec03d8a673550f8895570 100644 (file)
@@ -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);
 }
 
index 6acc4a30a6e5276856138f054ad52236d76661f2..c0396a04d5af4028a171e1272068308d85686b97 100644 (file)
--- 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 0fabd5c47da03b05e81a8ed599298f0c8f058ef2..40f639d406b0a80dae8ed4fb7cebc534c4bd2391 100644 (file)
--- 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 9c81a446dc777230c19f0b34b7baeaf7ebe07601..881feeb6420436cbe381828155b4520a3ff16894 100644 (file)
--- 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);                                                         \
 }                                                                      \
index 7057570fa97259fc4902065d2415613165882293..27f44905203e1bb534cff722856fb529fab9c6c4 100644 (file)
@@ -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 --- */
index 8972603c6c8a5bf1265f2e964e64c0289f662bd0..d80382f8895b828634f83afe7f48e1baddecda3d 100644 (file)
@@ -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 -------------------------------------------------*/
index 7e02daf611f35f9b213e16a68070fd89a4fdd138..bdc992a1d998337fa550c49e794a452195a6b14a 100644 (file)
@@ -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 1d4ae87a4ab440c08d2b6d37b0a4b756df85786e..ed796306faac36c641edaff2721ecd94cc49908d 100644 (file)
--- 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 c79b00b2482250d48ac78b36c8a071f45f3094cb..8c5efbd28fa25c2d892798038f4fc67298eb2046 100644 (file)
--- 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);
 }
index fbc1b0282a033dbceecb210d2fc60f55af107dc8..94a2cda2f8a07e35ba7d93e66d0406a3d5f09a3a 100644 (file)
@@ -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);
 }
 
index fb59d0d8534f50527e348b08744a665c96dd6236..92fd0ccca01c0a2ba069b0679f7b28d9b2d703b1 100644 (file)
@@ -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 e12276079baee11ba6a316c737901dac9069b260..5fc522a3c0dc59f7d565141a2fce4480cba7fed4 100644 (file)
--- 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);
 }
 
index 1597426a037eed9951266c0f21ed7c51dd581c92..73558ff6c5296dac9f9d4226df67a653304e0578 100644 (file)
@@ -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 2ce007de6e5cb44b871fbbf498a25686cdf70f0c..beac67c32826f9b64132d557ccf5b0ffd0534676 100644 (file)
--- 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;