From 634e4f4ff80a302d103a4516b6921039d7af7688 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Fri, 23 Sep 2011 20:01:11 +0000 Subject: [PATCH] merge from gcc --- libiberty/ChangeLog | 5 +++++ libiberty/md5.c | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 844b1ee4745..672d0ec4b96 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2011-09-23 Ian Lance Taylor + + * md5.c (md5_process_bytes): Correct handling of unaligned + buffer. + 2011-08-22 Rainer Orth * aclocal.m4: Include ../config/picflag.m4. diff --git a/libiberty/md5.c b/libiberty/md5.c index 11920e1b555..0db8fc8936f 100644 --- a/libiberty/md5.c +++ b/libiberty/md5.c @@ -1,6 +1,6 @@ /* md5.c - Functions to compute MD5 message digest of files or memory blocks according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2011 Free Software Foundation, Inc. NOTE: This source is derived from an old version taken from the GNU C Library (glibc). @@ -245,9 +245,11 @@ md5_process_bytes (const void *buffer, size_t len, struct md5_ctx *ctx) } else #endif - md5_process_block (buffer, len & ~63, ctx); - buffer = (const void *) ((const char *) buffer + (len & ~63)); - len &= 63; + { + md5_process_block (buffer, len & ~63, ctx); + buffer = (const void *) ((const char *) buffer + (len & ~63)); + len &= 63; + } } /* Move remaining bytes in internal buffer. */ -- 2.30.2