From e6b916cb1543c26d830a6818b012c5ace09b3139 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Thu, 14 Aug 2003 14:36:38 +0000 Subject: [PATCH] Fixed bug #25081 (odbc_fetch_array() may mangle numeric fields). --- ext/odbc/php_odbc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 2aeebdf32cb..0adcc7cad80 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -1457,8 +1457,13 @@ static void php_odbc_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type) 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);