projects
/
u
/
mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Test case for modsqrt -- actually checks mprand_range.
[u/mdw/catacomb]
/
oaep.c
diff --git
a/oaep.c
b/oaep.c
index
301e63b
..
becd058
100644
(file)
--- a/
oaep.c
+++ b/
oaep.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-c-*-
*
- * $Id: oaep.c,v 1.
2 2000/07/15 10:01:48
mdw Exp $
+ * $Id: oaep.c,v 1.
3 2001/02/22 09:04:39
mdw Exp $
*
* Optimal asymmetric encryption packing
*
*
* Optimal asymmetric encryption packing
*
@@
-30,6
+30,9
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: oaep.c,v $
/*----- Revision history --------------------------------------------------*
*
* $Log: oaep.c,v $
+ * Revision 1.3 2001/02/22 09:04:39 mdw
+ * Fix memory leaks.
+ *
* Revision 1.2 2000/07/15 10:01:48 mdw
* Test rig added, based on RIPEMD160-MGF1 test vectors.
*
* Revision 1.2 2000/07/15 10:01:48 mdw
* Test rig added, based on RIPEMD160-MGF1 test vectors.
*
@@
-71,7
+74,7
@@
int oaep_encode(const void *msg, size_t msz, void *buf, size_t sz, void *p)
{
oaep *o = p;
size_t hsz = o->ch->hashsz;
{
oaep *o = p;
size_t hsz = o->ch->hashsz;
- ghash *h
= o->ch->init()
;
+ ghash *h;
octet *q, *mq, *qq;
octet *pp;
gcipher *c;
octet *q, *mq, *qq;
octet *pp;
gcipher *c;
@@
-92,6
+95,7
@@
int oaep_encode(const void *msg, size_t msz, void *buf, size_t sz, void *p)
/* --- Fill in the rest of the buffer --- */
/* --- Fill in the rest of the buffer --- */
+ h = o->ch->init();
h->ops->hash(h, o->ep, o->epsz);
h->ops->done(h, mq);
h->ops->destroy(h);
h->ops->hash(h, o->ep, o->epsz);
h->ops->done(h, mq);
h->ops->destroy(h);
@@
-173,6
+177,7
@@
int oaep_decode(const void *buf, size_t sz, dstr *d, void *p)
h = o->ch->init();
h->ops->hash(h, o->ep, o->epsz);
h->ops->done(h, q);
h = o->ch->init();
h->ops->hash(h, o->ep, o->epsz);
h->ops->done(h, q);
+ h->ops->destroy(h);
if (memcmp(q, mq, hsz) != 0)
goto fail;
if (memcmp(q, mq, hsz) != 0)
goto fail;
@@
-228,7
+233,7
@@
static int verify(dstr *v)
dstr_ensure(&d, v[3].len);
d.len = v[3].len;
gr.r.ops = &gops;
dstr_ensure(&d, v[3].len);
d.len = v[3].len;
gr.r.ops = &gops;
- gr.buf = v[2].buf;
+ gr.buf =
(octet *)
v[2].buf;
o.cc = &rmd160_mgf;
o.ch = &rmd160;
o.cc = &rmd160_mgf;
o.ch = &rmd160;