[FFmpeg-cvslog] r21754 - trunk/libavutil/sha.c
Måns Rullgård
mans
Thu Feb 11 13:24:05 CET 2010
kostya <subversion at mplayerhq.hu> writes:
> 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]));
Better still, use AV_WB32 and drop the be2me.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-cvslog
mailing list