diff --git a/NEWS b/NEWS index d96969b286f9f..9f12b6d73f0a7 100644 --- a/NEWS +++ b/NEWS @@ -33,6 +33,10 @@ PHP NEWS . Fixed bug GH-20732 (Phar::LoadPhar undefined behavior when reading fails). (ndossche) +- POSIX: + . Fixed crash on posix groups to php array creation on macos. + (David Carlier) + - SPL: . Fixed bug GH-20678 (resource created by GlobIterator crashes with fclose()). (David Carlier) diff --git a/ext/posix/posix.c b/ext/posix/posix.c index 2c87fbd28d981..85ea03d8cc0cb 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -678,7 +678,8 @@ int php_posix_group_to_array(struct group *g, zval *array_group) /* {{{ */ for (count = 0;; count++) { /* gr_mem entries may be misaligned on macos. */ char *gr_mem; - memcpy(&gr_mem, &g->gr_mem[count], sizeof(char *)); + char *entry = (char *)g->gr_mem + (count * sizeof (char *)); + memcpy(&gr_mem, entry, sizeof(char *)); if (!gr_mem) { break; }