From 360c232e56d4d4630710c2ff46cdeebd248b2077 Mon Sep 17 00:00:00 2001 From: mdw Date: Tue, 3 Apr 2001 19:36:36 +0000 Subject: [PATCH] Don't use @va_arg@ as an argument to @STORE32@! --- ofb-def.h | 12 +++++++++--- rc4.c | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ofb-def.h b/ofb-def.h index d09e51f..f22ccd5 100644 --- a/ofb-def.h +++ b/ofb-def.h @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: ofb-def.h,v 1.3 2000/06/17 11:48:02 mdw Exp $ + * $Id: ofb-def.h,v 1.4 2001/04/03 19:36:36 mdw Exp $ * * Definitions for output feedback mode * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: ofb-def.h,v $ + * Revision 1.4 2001/04/03 19:36:36 mdw + * Don't use @va_arg@ as an argument to @STORE32@! + * * Revision 1.3 2000/06/17 11:48:02 mdw * Use secure arena for memory allocation. Rearrange setiv slightly. * @@ -345,6 +348,7 @@ static int grmisc(grand *r, unsigned op, ...) \ grctx *g = (grctx *)r; \ va_list ap; \ int rc = 0; \ + uint32 i; \ octet buf[PRE##_BLKSZ]; \ va_start(ap, op); \ \ @@ -365,12 +369,14 @@ static int grmisc(grand *r, unsigned op, ...) \ break; \ case GRAND_SEEDINT: \ memset(buf, 0, sizeof(buf)); \ - STORE32(buf, va_arg(ap, unsigned)); \ + i = va_arg(ap, unsigned); \ + STORE32(buf, i); \ pre##_ofbsetiv(&g->k, buf); \ break; \ case GRAND_SEEDUINT32: \ memset(buf, 0, sizeof(buf)); \ - STORE32(buf, va_arg(ap, uint32)); \ + i = va_arg(ap, uint32); \ + STORE32(buf, i); \ pre##_ofbsetiv(&g->k, buf); \ break; \ case GRAND_SEEDBLOCK: { \ 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: { -- 2.11.0