cvs: php-src /ext/odbc php_odbc.c
| From: | Ilia Alshanetsky | Date: | Thu, 14 Aug 2003 14:36:38 +0000 |
| Subject: | cvs: php-src /ext/odbc php_odbc.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-23192@lists.php.net to get a copy of this message | ||
iliaa Thu Aug 14 10:36:38 2003 EDT
Modified files:
/php-src/ext/odbc php_odbc.c
Log:
Fixed bug #25081 (odbc_fetch_array() may mangle numeric fields).
Index: php-src/ext/odbc/php_odbc.c
diff -u php-src/ext/odbc/php_odbc.c:1.170 php-src/ext/odbc/php_odbc.c:1.171
--- php-src/ext/odbc/php_odbc.c:1.170 Mon Aug 11 20:55:56 2003
+++ php-src/ext/odbc/php_odbc.c Thu Aug 14 10:36:38 2003
@@ -20,7 +20,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_odbc.c,v 1.170 2003/08/12 00:55:56 iliaa Exp $ */
+/* $Id: php_odbc.c,v 1.171 2003/08/14 14:36:38 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1457,8 +1457,13 @@
if (result_type & ODBC_NUM) {
zend_hash_index_update(Z_ARRVAL_P(return_value), i, &tmp, sizeof(pval *), NULL);
} else {
- zend_hash_update(Z_ARRVAL_P(return_value), result->values[i].name,
+ if (!*(result->values[i].name)) {
+ zend_hash_update(Z_ARRVAL_P(return_value), Z_STRVAL_P(tmp),
+ Z_STRLEN_P(tmp)+1, &tmp, sizeof(pval *), NULL);
+ } else {
+ zend_hash_update(Z_ARRVAL_P(return_value), result->values[i].name,
strlen(result->values[i].name)+1, &tmp, sizeof(pval *), NULL);
+ }
}
}
if (buf) efree(buf);