mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
merge from gcc
This commit is contained in:
parent
d20c1c3fea
commit
091c2a968a
@ -1,3 +1,7 @@
|
||||
2011-08-12 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
* md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
|
||||
|
||||
2011-08-06 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* testsuite/test-expandargv.c (writeout_test): Check result of fwrite.
|
||||
|
@ -76,15 +76,19 @@ md5_init_ctx (struct md5_ctx *ctx)
|
||||
/* Put result from CTX in first 16 bytes following RESBUF. The result
|
||||
must be in little endian byte order.
|
||||
|
||||
IMPORTANT: On some systems it is required that RESBUF is correctly
|
||||
aligned for a 32 bits value. */
|
||||
IMPORTANT: RESBUF may not be aligned as strongly as MD5_UNIT32 so we
|
||||
put things in a local (aligned) buffer first, then memcpy into RESBUF. */
|
||||
void *
|
||||
md5_read_ctx (const struct md5_ctx *ctx, void *resbuf)
|
||||
{
|
||||
((md5_uint32 *) resbuf)[0] = SWAP (ctx->A);
|
||||
((md5_uint32 *) resbuf)[1] = SWAP (ctx->B);
|
||||
((md5_uint32 *) resbuf)[2] = SWAP (ctx->C);
|
||||
((md5_uint32 *) resbuf)[3] = SWAP (ctx->D);
|
||||
md5_uint32 buffer[4];
|
||||
|
||||
buffer[0] = SWAP (ctx->A);
|
||||
buffer[1] = SWAP (ctx->B);
|
||||
buffer[2] = SWAP (ctx->C);
|
||||
buffer[3] = SWAP (ctx->D);
|
||||
|
||||
memcpy (resbuf, buffer, 16);
|
||||
|
||||
return resbuf;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user