Skip to content

Commit 99ce24d

Browse files
author
Greg Beaver
committed
MFB: fix setting of 32-bit values on big-endian systems
1 parent 766882b commit 99ce24d

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

ext/phar/tar.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,10 +1084,10 @@ int phar_tar_flush(phar_archive_data *phar, char *user_stub, long len, int defau
10841084

10851085
#ifdef WORDS_BIGENDIAN
10861086
# define PHAR_SET_32(var, buffer) \
1087-
*(php_uint32 *)(var) = (((((unsigned char*)(buffer))[3]) << 24) \
1088-
| ((((unsigned char*)(buffer))[2]) << 16) \
1089-
| ((((unsigned char*)(buffer))[1]) << 8) \
1090-
| (((unsigned char*)(buffer))[0]))
1087+
*(php_uint32 *)(var) = (((((unsigned char*)&(buffer))[3]) << 24) \
1088+
| ((((unsigned char*)&(buffer))[2]) << 16) \
1089+
| ((((unsigned char*)&(buffer))[1]) << 8) \
1090+
| (((unsigned char*)&(buffer))[0]))
10911091
#else
10921092
# define PHAR_SET_32(var, buffer) *(php_uint32 *)(var) = (php_uint32) (buffer)
10931093
#endif

0 commit comments

Comments
 (0)