X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/0f32e0f83177bd620a1deee0e0641f8323742b6c..360c232e56d4d4630710c2ff46cdeebd248b2077:/rc4.c diff --git a/rc4.c b/rc4.c index 69adcc6..bf978d3 100644 --- a/rc4.c +++ b/rc4.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: rc4.c,v 1.4 2000/06/17 11:55:22 mdw Exp $ + * $Id: rc4.c,v 1.5 2001/04/03 19:36:36 mdw Exp $ * * The alleged RC4 stream cipher * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: rc4.c,v $ + * Revision 1.5 2001/04/03 19:36:36 mdw + * Don't use @va_arg@ as an argument to @STORE32@! + * * Revision 1.4 2000/06/17 11:55:22 mdw * New key size interface. Allow key material to be combined with an * existing initialized context. Use secure arena for memory allocation. @@ -209,6 +212,7 @@ static int grmisc(grand *r, unsigned op, ...) grctx *g = (grctx *)r; va_list ap; int rc = 0; + uint32 i; octet buf[4]; va_start(ap, op); @@ -228,11 +232,13 @@ static int grmisc(grand *r, unsigned op, ...) } break; case GRAND_SEEDINT: - STORE32(buf, va_arg(ap, unsigned)); + i = va_arg(ap, unsigned); + STORE32(buf, i); rc4_addkey(&g->rc4, buf, sizeof(buf)); break; case GRAND_SEEDUINT32: - STORE32(buf, va_arg(ap, uint32)); + i = va_arg(ap, uint32); + STORE32(buf, i); rc4_addkey(&g->rc4, buf, sizeof(buf)); break; case GRAND_SEEDBLOCK: {