From 0e7655209a777167d0a62f1ea016a5b584d5911b Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Fri, 11 Apr 2008 10:59:50 +0000 Subject: [PATCH] fix 2 segfaults in ZTS mode --- ext/posix/posix.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/posix/posix.c b/ext/posix/posix.c index dc85458098..3559095391 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -873,7 +873,7 @@ PHP_FUNCTION(posix_getgrgid) #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX) int ret; struct group _g; - struct group *retgrptr; + struct group *retgrptr = NULL; long grbuflen; char *grbuf; #endif @@ -892,7 +892,7 @@ PHP_FUNCTION(posix_getgrgid) grbuf = emalloc(grbuflen); ret = getgrgid_r(gid, &_g, grbuf, grbuflen, &retgrptr); - if (ret) { + if (ret || retgrptr == NULL) { POSIX_G(last_error) = ret; efree(grbuf); RETURN_FALSE; @@ -1009,7 +1009,7 @@ PHP_FUNCTION(posix_getpwuid) pwbuf = emalloc(pwbuflen); ret = getpwuid_r(uid, &_pw, pwbuf, pwbuflen, &retpwptr); - if (ret) { + if (ret || retpwptr == NULL) { POSIX_G(last_error) = ret; efree(pwbuf); RETURN_FALSE; -- 2.50.1