]> granicus.if.org Git - php/commitdiff
check for buflen (on FreeBSD _SC_GETGR_R_SIZE_MAX is not implemented)
authorAntony Dovgal <tony2001@php.net>
Thu, 22 Feb 2007 23:40:25 +0000 (23:40 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 22 Feb 2007 23:40:25 +0000 (23:40 +0000)
patch by stas at FreeBSD dot org

ext/posix/posix.c

index 35e9bda16f50f004a5b8a0e79df501ee67e7af0c..97ec5123661f594105b5be647527ec9525a0af3f 100644 (file)
@@ -885,6 +885,10 @@ PHP_FUNCTION(posix_getgrgid)
 #if defined(ZTS) && defined(HAVE_GETGRGID_R) && defined(_SC_GETGR_R_SIZE_MAX)
        
        grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+       if (grbuflen < 1) {
+               RETURN_FALSE;
+       }
+       
        grbuf = emalloc(grbuflen);
 
        ret = getgrgid_r(gid, &_g, grbuf, grbuflen, &retgrptr);