mirror of https://git.ffmpeg.org/ffmpeg.git
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. Originally committed as revision 21754 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
94dde5c1ec
commit
045b60bf9b
|
@ -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)
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue