Commit ee119bc7 authored by kostya's avatar kostya

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.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21754 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 6a272308
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include "avutil.h" #include "avutil.h"
#include "bswap.h" #include "bswap.h"
#include "sha.h" #include "sha.h"
#include "intreadwrite.h"
/** hash context */ /** hash context */
typedef struct AVSHA { typedef struct AVSHA {
...@@ -319,7 +320,7 @@ void av_sha_final(AVSHA* ctx, uint8_t *digest) ...@@ -319,7 +320,7 @@ void av_sha_final(AVSHA* ctx, uint8_t *digest)
av_sha_update(ctx, "", 1); av_sha_update(ctx, "", 1);
av_sha_update(ctx, (uint8_t *)&finalcount, 8); /* Should cause a transform() */ av_sha_update(ctx, (uint8_t *)&finalcount, 8); /* Should cause a transform() */
for (i = 0; i < ctx->digest_len; i++) 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 #if LIBAVUTIL_VERSION_MAJOR < 51
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment