From aa89f171fa01b69ac0b5911179fa6458a59aaa80 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 19 Mar 2009 23:10:44 +0000 Subject: [PATCH] Fixed bug #47721 (Aligment issues in mbstring and sysvshm extension) --- NEWS | 2 ++ ext/mbstring/oniguruma/regint.h | 2 +- ext/sysvshm/sysvshm.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index c26edbb701..9c94ad5d93 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ PHP NEWS - Fixed memory corruptions while reading properties of zip files. (Ilia) +- Fixed bug #47721 (Aligment issues in mbstring and sysvshm extension) + (crrodriguez at opensuse dot org, Ilia) - Fixed bug #47704 (PHP crashes on some "bad" operations with string offsets). (Dmitry) - Fixed bug #47667 (ZipArchive::OVERWRITE seems to have no effect). (Mikko, Pierre) diff --git a/ext/mbstring/oniguruma/regint.h b/ext/mbstring/oniguruma/regint.h index cd238bb518..ba84fab6a1 100644 --- a/ext/mbstring/oniguruma/regint.h +++ b/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 \ diff --git a/ext/sysvshm/sysvshm.c b/ext/sysvshm/sysvshm.c index cebe5d724c..a93fd4c948 100644 --- a/ext/sysvshm/sysvshm.c +++ b/ext/sysvshm/sysvshm.c @@ -375,7 +375,7 @@ static int php_put_shm_data(sysvshm_chunk_head *ptr, long key, char *data, long 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); -- 2.50.1