cvs: php4 /ext/bz2 bz2.c

From: Date: Thu, 29 Aug 2002 11:45:29 +0000
Subject: cvs: php4 /ext/bz2 bz2.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-13753@lists.php.net to get a copy of this message
iliaa Thu Aug 29 07:45:29 2002 EDT Modified files: /php4/ext/bz2 bz2.c Log: Added a check for a negative return value of php_stream_read, which if left uncheck can result in segv. Index: php4/ext/bz2/bz2.c diff -u php4/ext/bz2/bz2.c:1.56 php4/ext/bz2/bz2.c:1.57 --- php4/ext/bz2/bz2.c:1.56 Sat Aug 17 09:15:05 2002 +++ php4/ext/bz2/bz2.c Thu Aug 29 07:45:27 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: bz2.c,v 1.56 2002/08/17 13:15:05 kalowsky Exp $ */ +/* $Id: bz2.c,v 1.57 2002/08/29 11:45:27 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -266,6 +266,13 @@ Z_STRVAL_P(return_value) = emalloc(len + 1); Z_STRLEN_P(return_value) = php_stream_read(stream, Z_STRVAL_P(return_value), len); + + if (Z_STRLEN_P(return_value) < 0) { + efree(Z_STRVAL_P(return_value)); + zend_error(E_WARNING, "%s(): could not read valid bz2 data from stream", get_active_function_name(TSRMLS_C)); + RETURN_FALSE; + } + Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0; if (PG(magic_quotes_runtime)) {

« previous php.cvs (#13753) next »