1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Description: Fix unaligned memory access.
Origin: vendor
Forwarded: http://bugs.php.net/50987
Last-Update: 2010-02-09
--- a/ext/phar/phar.c
+++ b/ext/phar/phar.c
@@ -512,7 +512,7 @@ void phar_entry_remove(phar_entry_data *
(buffer) += 2
#else
# define PHAR_GET_32(buffer, var) \
- var = *(php_uint32*)(buffer); \
+ memcpy(&var, buffer, sizeof(var)); \
buffer += 4
# define PHAR_GET_16(buffer, var) \
var = *(php_uint16*)(buffer); \
@@ -2491,7 +2491,7 @@ static inline void phar_set_32(char *buf
*((buffer) + 1) = (unsigned char) (((var) >> 8) & 0xFF);
*((buffer) + 0) = (unsigned char) ((var) & 0xFF);
#else
- *(php_uint32 *)(buffer) = (php_uint32)(var);
+ memcpy(buffer, &var, sizeof(var));
#endif
} /* }}} */
|