cvs: php-src /ext/pgsql pgsql.c
| From: | Marcus Boerger | Date: | Mon, 10 Apr 2006 19:48:27 +0000 |
| Subject: | cvs: php-src /ext/pgsql pgsql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-37750@lists.php.net to get a copy of this message | ||
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() */