File php5-alignment.patch of Package php5

--- Zend/zend_alloc.c
+++ Zend/zend_alloc.c
@@ -601,7 +601,8 @@ static unsigned int _zend_mm_cookie = 0;
 #if SUHOSIN_PATCH
 
 # define SUHOSIN_MM_CHECK_CANARIES(block, MFUNCTION) do { \
-        size_t *p = SUHOSIN_MM_END_CANARY_PTR(block), check; \
+        void *p = SUHOSIN_MM_END_CANARY_PTR(block); \
+	size_t check; \
 		if (((block)->info.canary_1 != heap->canary_1) || ((block)->info.canary_2 != heap->canary_2)) { \
 			canary_mismatch: \
             zend_suhosin_log(S_MEMORY, "canary mismatch on " MFUNCTION " - heap overflow detected"); \
@@ -621,10 +622,10 @@ static unsigned int _zend_mm_cookie = 0;
     } while (0)      
 
 # define SUHOSIN_MM_END_CANARY_PTR(block) \
-	(size_t*)(((char*)(ZEND_MM_DATA_OF(block))) + ((zend_mm_block*)(block))->info.size + END_MAGIC_SIZE)
+	(void *)(((char*)(ZEND_MM_DATA_OF(block))) + ((zend_mm_block*)(block))->info.size + END_MAGIC_SIZE)
 
 # define SUHOSIN_MM_SET_END_CANARY(block) do { \
-		size_t *p = SUHOSIN_MM_END_CANARY_PTR(block); \
+		void *p = SUHOSIN_MM_END_CANARY_PTR(block); \
 		memcpy(p, &heap->canary_3, CANARY_SIZE); \
 	} while (0)
 
--- ext/hash/php_hash_tiger.h
+++ ext/hash/php_hash_tiger.h
@@ -25,9 +25,9 @@
 typedef struct {
 	php_hash_uint64 state[3];
 	php_hash_uint64 passed;
+	unsigned char buffer[64];
 	unsigned char passes:1;
 	unsigned char length:7;
-	unsigned char buffer[64];
 } PHP_TIGER_CTX;
 
 PHP_HASH_API void PHP_3TIGERInit(PHP_TIGER_CTX *context);
--- ext/mbstring/oniguruma/regint.h
+++ ext/mbstring/oniguruma/regint.h
@@ -256,7 +256,7 @@
 #define NULL_UCHARP                   ((UChar* )0)
 
 #ifndef PLATFORM_UNALIGNED_WORD_ACCESS
-#define WORD_ALIGNMENT_SIZE       SIZEOF_INT
+#define WORD_ALIGNMENT_SIZE       SIZEOF_LONG
 
 #define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
   (pad_size) = WORD_ALIGNMENT_SIZE \
--- ext/sysvshm/sysvshm.c
+++ ext/sysvshm/sysvshm.c
@@ -375,7 +375,7 @@ static int php_put_shm_data(sysvshm_chun
 	long total_size;
 	long shm_varpos;
 
-	total_size = ((long) (len + sizeof(sysvshm_chunk) - 1) / 4) * 4 + 4; /* 4-byte alligment */
+	total_size = ((long) (len + sizeof(sysvshm_chunk) - 1) / sizeof(long)) * sizeof(long) + sizeof(long); /* long alligment */
 
 	if ((shm_varpos = php_check_shm_data(ptr, key)) > 0) {
 		php_remove_shm_data(ptr, shm_varpos);
openSUSE Build Service is sponsored by