merge from gcc
authorDJ Delorie <dj@redhat.com>
Fri, 23 Sep 2011 20:01:11 +0000 (20:01 +0000)
committerDJ Delorie <dj@redhat.com>
Fri, 23 Sep 2011 20:01:11 +0000 (20:01 +0000)
libiberty/ChangeLog
libiberty/md5.c

index 844b1ee47455745968d92cf20b676538ee0d16bc..672d0ec4b966d48a681d497a9bdda2f170e78394 100644 (file)
@@ -1,3 +1,8 @@
+2011-09-23  Ian Lance Taylor  <iant@google.com>
+
+       * md5.c (md5_process_bytes): Correct handling of unaligned
+       buffer.
+
 2011-08-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * aclocal.m4: Include ../config/picflag.m4.
index 11920e1b5559a4bedd08ead2c149cbbfc1e024a9..0db8fc8936f30c76e020a96736182d481c147f20 100644 (file)
@@ -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.  */