Brent Cook wrote:
> I didn't notice it at first, because the patch wasn't inline, but the union
> here needed to be initialized with memset or use a different kind of
> initializer.
> 
> I went with the memset on top of your patch:
> 
> --- bn_nist.c   17 Jul 2016 21:21:40 -0000      1.16
> +++ bn_nist.c   17 Jul 2016 22:00:45 -0000
> @@ -59,6 +59,7 @@
>  #include <machine/endian.h>
> 
>  #include <stdint.h>
> +#include <string.h>
> 
>  #include "bn_lcl.h"
> 
> @@ -568,7 +569,8 @@ BN_nist_mod_224(BIGNUM *r, const BIGNUM
>                 BN_ULONG bn[BN_NIST_224_TOP];
>                 unsigned int ui[BN_NIST_224_TOP *
>                     sizeof(BN_ULONG) / sizeof(unsigned int)];
> -       } buf = {0};
> +       } buf;
> +       memset(&buf, 0, sizeof(buf));
>         BN_ULONG c_d[BN_NIST_224_TOP], *res;

ok, but please don't mix code and decls like that.

Reply via email to