helly Mon Apr 10 19:48:27 2006 UTC Modified files: /php-src/ext/pgsql pgsql.c Log: - Fix possible SEGV http://cvs.php.net/viewcvs.cgi/php-src/ext/pgsql/pgsql.c?r1=1.348&r2=1.349&diff_format=u Index: php-src/ext/pgsql/pgsql.c diff -u php-src/ext/pgsql/pgsql.c:1.348 php-src/ext/pgsql/pgsql.c:1.349 --- php-src/ext/pgsql/pgsql.c:1.348 Wed Mar 29 01:10:27 2006 +++ php-src/ext/pgsql/pgsql.c Mon Apr 10 19:48:27 2006 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pgsql.c,v 1.348 2006/03/29 01:10:27 yohgaki Exp $ */ +/* $Id: pgsql.c,v 1.349 2006/04/10 19:48:27 helly Exp $ */ #include <stdlib.h> @@ -4586,7 +4586,7 @@ char *field = NULL; uint field_len = -1; ulong num_idx = -1; - zval *meta, **def, **type, **not_null, **has_default, **val, *new_val; + zval *meta, **def, **type, **not_null, **has_default, **val, *new_val = NULL; int new_len, key_type, err = 0, skip_field; assert(pg_link != NULL); @@ -4646,7 +4646,7 @@ if (err) { break; /* break out for() */ } - MAKE_STD_ZVAL(new_val); + ALLOC_INIT_ZVAL(new_val); switch(php_pgsql_get_data_type(Z_STRVAL_PP(type), Z_STRLEN_PP(type))) { case PG_BOOL: @@ -5178,7 +5178,7 @@ break; } /* switch */ - if (err) { + if (err && new_val) { zval_dtor(new_val); FREE_ZVAL(new_val); break; /* break out for() */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php