[FFmpeg-cvslog] r21754 - trunk/libavutil/sha.c

kostya subversion
Thu Feb 11 12:45:35 CET 2010


Author: kostya
Date: Thu Feb 11 12:45:35 2010
New Revision: 21754

Log:
Make SHA digest function write digest value with AV_WN32 instead of assuming
that output may be written as uint32_t since output buffer may not be aligned
(and it's silly to force alignment on it) and it does not work in that case
properly on some architectures.

Modified:
   trunk/libavutil/sha.c

Modified: trunk/libavutil/sha.c
==============================================================================
--- trunk/libavutil/sha.c	Thu Feb 11 08:59:24 2010	(r21753)
+++ trunk/libavutil/sha.c	Thu Feb 11 12:45:35 2010	(r21754)
@@ -25,6 +25,7 @@
 #include "avutil.h"
 #include "bswap.h"
 #include "sha.h"
+#include "intreadwrite.h"
 
 /** hash context */
 typedef struct AVSHA {
@@ -319,7 +320,7 @@ void av_sha_final(AVSHA* ctx, uint8_t *d
         av_sha_update(ctx, "", 1);
     av_sha_update(ctx, (uint8_t *)&finalcount, 8); /* Should cause a transform() */
     for (i = 0; i < ctx->digest_len; i++)
-        ((uint32_t*)digest)[i] = be2me_32(ctx->state[i]);
+        AV_WN32(digest + i*4, be2me_32(ctx->state[i]));
 }
 
 #if LIBAVUTIL_VERSION_MAJOR < 51



More information about the ffmpeg-cvslog mailing list