Fix build strict aliasing Error 99/3999/1
authorBaptiste DURAND <baptiste.durand@eurogiciel.fr>
Thu, 13 Jun 2013 17:07:00 +0000 (19:07 +0200)
committerBaptiste DURAND <baptiste.durand@eurogiciel.fr>
Thu, 13 Jun 2013 17:07:00 +0000 (19:07 +0200)
To avoid  error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]

src/framework/security-assistant/md5.c

index 347fbfc..a999043 100755 (executable)
@@ -256,9 +256,8 @@ void sa_md5_final(sa_md5_context_s * ctx, unsigned char *digest)
                _byte_reverse(ctx->in, 14);
 
        /* Append length in bits and transform */
-       ((unsigned int *)ctx->in)[14] = ctx->bits[0];
-       ((unsigned int *)ctx->in)[15] = ctx->bits[1];
-
+       memcpy(&(ctx->in[56]),ctx->bits,sizeof(ctx->bits));
+       
        _md5_transform(ctx->buf, (const long unsigned int *)ctx->in);
        if (ctx->doByteReverse)
                _byte_reverse((unsigned char *)ctx->buf, 4);