Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2009 18:02:46 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r188525 - in stable/7/sys: . netinet
Message-ID:  <200902121802.n1CI2ktB063039@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rrs
Date: Thu Feb 12 18:02:46 2009
New Revision: 188525
URL: http://svn.freebsd.org/changeset/base/188525

Log:
  MFC of 184027:
  
  Reported by Yehuda Weinraub (yehudasa@gamil.com) - CRC32C algorithm
  uses incorrect init_bytes value. It SHOULD have the number
  of bytes to get to a 4 byte boundary.
  
  PR:		128134

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/netinet/sctp_crc32.c

Modified: stable/7/sys/netinet/sctp_crc32.c
==============================================================================
--- stable/7/sys/netinet/sctp_crc32.c	Thu Feb 12 17:57:28 2009	(r188524)
+++ stable/7/sys/netinet/sctp_crc32.c	Thu Feb 12 18:02:46 2009	(r188525)
@@ -583,13 +583,13 @@ update_crc32(uint32_t crc32c,
     unsigned char *buffer,
     unsigned int length)
 {
-	uint32_t offset;
+	uint32_t to_even_word;
 
 	if (length == 0) {
 		return (crc32c);
 	}
-	offset = ((uintptr_t) buffer) & 0x3;
-	return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, offset));
+	to_even_word = (4 - (((uintptr_t) buffer) & 0x3));
+	return (sctp_crc32c_sb8_64_bit(crc32c, buffer, length, to_even_word));
 }
 
 uint32_t sctp_crc_c[256] = {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902121802.n1CI2ktB063039>