From: Johannes Schlüter Date: Wed, 18 Feb 2009 16:33:28 +0000 (+0000) Subject: Fix #47438 mysql_fetch_field ignores zero offse X-Git-Tag: php-5.4.0alpha1~191^2~4242 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ea84127c9e889f2eb68b26497b3179645e884335;p=php Fix #47438 mysql_fetch_field ignores zero offse --- diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index 7fe228ea30..2f17e61ca6 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -2379,7 +2379,7 @@ PHP_FUNCTION(mysql_fetch_field) ZEND_FETCH_RESOURCE(mysql_result, MYSQL_RES *, &result, -1, "MySQL result", le_result); - if (field) { + if (ZEND_NUM_ARGS() > 1) { if (field<0 || field>=(int)mysql_num_fields(mysql_result)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad field offset"); RETURN_FALSE; diff --git a/ext/mysql/tests/bug47438.phpt b/ext/mysql/tests/bug47438.phpt new file mode 100644 index 0000000000..b646b9b424 --- /dev/null +++ b/ext/mysql/tests/bug47438.phpt @@ -0,0 +1,39 @@ +--TEST-- +Bug #47438 mysql_fetch_field ignores zero offset +--SKIPIF-- + +--FILE-- +name . "\n"; + $i++; +} + +mysql_query("DROP TABLE IF EXISTS test_47438"); + +?> +--EXPECT-- +0.a +1.b +2.c