projects
/
u
/
mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memory leaks.
[u/mdw/catacomb]
/
share.c
diff --git
a/share.c
b/share.c
index
cc793db
..
d0fd0f5
100644
(file)
--- a/
share.c
+++ b/
share.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: share.c,v 1.
5 2000/12/06 20:30:10
mdw Exp $
+ * $Id: share.c,v 1.
6 2001/02/03 16:05:41
mdw Exp $
*
* Shamir's secret sharing
*
*
* Shamir's secret sharing
*
@@
-30,6
+30,10
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: share.c,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: share.c,v $
+ * Revision 1.6 2001/02/03 16:05:41 mdw
+ * Now @mp_drop@ checks its argument is non-NULL before attempting to free
+ * it. Note that the macro version @MP_DROP@ doesn't do this.
+ *
* Revision 1.5 2000/12/06 20:30:10 mdw
* Change secret sharing interface: present the secret at share
* construction time.
* Revision 1.5 2000/12/06 20:30:10 mdw
* Change secret sharing interface: present the secret at share
* construction time.
@@
-102,17
+106,14
@@
void share_destroy(share *s)
/* --- Dispose of the share vector --- */
if (s->v) {
/* --- Dispose of the share vector --- */
if (s->v) {
- for (i = 0; i < s->t; i++) {
- if (s->v[i].y)
- mp_drop(s->v[i].y);
- }
+ for (i = 0; i < s->t; i++)
+ mp_drop(s->v[i].y);
xfree(s->v);
}
/* --- Other stuff --- */
xfree(s->v);
}
/* --- Other stuff --- */
- if (s->p)
- mp_drop(s->p);
+ mp_drop(s->p);
}
/* --- @share_mkshares@ --- *
}
/* --- @share_mkshares@ --- *
@@
-182,8
+183,7
@@
mp *share_get(share *s, mp *d, unsigned x)
/* --- Various bits of initialization --- */
mp_build(&u, &uw, &uw + 1);
/* --- Various bits of initialization --- */
mp_build(&u, &uw, &uw + 1);
- if (d)
- mp_drop(d);
+ mp_drop(d);
/* --- Evaluate the polynomial at %$x = i + 1$% --- */
/* --- Evaluate the polynomial at %$x = i + 1$% --- */
@@
-293,8
+293,7
@@
mp *share_combine(share *s)
}
a = mpbarrett_reduce(&mb, a, a);
}
a = mpbarrett_reduce(&mb, a, a);
- if (m)
- mp_drop(m);
+ mp_drop(m);
mpbarrett_destroy(&mb);
return (a);
}
mpbarrett_destroy(&mb);
return (a);
}