소스 검색

2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Fixed integer potential alignment problem.
	* src/bitfield.h
Tatsuhiro Tsujikawa 16 년 전
부모
커밋
2923682aa6
2개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 0
      ChangeLog
  2. 4 1
      src/bitfield.h

+ 5 - 0
ChangeLog

@@ -1,3 +1,8 @@
+2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Fixed integer potential alignment problem.
+	* src/bitfield.h
+
 2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Applied a patch from tizianomueller to fix sigbus errors on Linux

+ 4 - 1
src/bitfield.h

@@ -39,6 +39,7 @@
 
 #include <cassert>
 #include <cstdlib>
+#include <cstring>
 
 #include "util.h"
 
@@ -105,7 +106,9 @@ inline size_t countSetBit(const unsigned char* bitfield, size_t nbits)
   }
   size_t to = len/size;
   for(size_t i = 0; i < to; ++i) {
-    count += countBit32(*reinterpret_cast<const uint32_t*>(&bitfield[i*size]));
+    uint32_t v;
+    memcpy(&v, &bitfield[i*size], sizeof(v));
+    count += countBit32(v);
   }
   for(size_t i = len-len%size; i < len; ++i) {
     count += countBit32(static_cast<uint32_t>(bitfield[i]));