fmk Wed Jun 30 15:46:57 2004 EDT Modified files: /php-src/ext/mssql php_mssql.c Log: Fix for #28512. Allocate enough space to store data http://cvs.php.net/diff.php/php-src/ext/mssql/php_mssql.c?r1=1.135&r2=1.136&ty=u Index: php-src/ext/mssql/php_mssql.c diff -u php-src/ext/mssql/php_mssql.c:1.135 php-src/ext/mssql/php_mssql.c:1.136 --- php-src/ext/mssql/php_mssql.c:1.135 Thu Jun 3 21:03:38 2004 +++ php-src/ext/mssql/php_mssql.c Wed Jun 30 15:46:57 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_mssql.c,v 1.135 2004/06/04 01:03:38 pollita Exp $ */ +/* $Id: php_mssql.c,v 1.136 2004/06/30 19:46:57 fmk Exp $ */ #ifdef COMPILE_DL_MSSQL #define HAVE_MSSQL 1 @@ -843,9 +843,22 @@ if ((column_type != SQLDATETIME && column_type != SQLDATETIM4) || MS_SQL_G(datetimeconvert)) { - if (column_type == SQLDATETIM4) res_length += 14; - if (column_type == SQLDATETIME) res_length += 10; - + switch (column_type) { + case SQLDATETIM4 : + res_length += 14; + break; + case SQLDATETIME : + res_length += 10; + break; + case SQLMONEY : + case SQLMONEY4 : + case SQLMONEYN : + case SQLDECIMAL : + case SQLNUMERIC : + res_length += 5; + break; + } + res_buf = (unsigned char *) emalloc(res_length+1); res_length = dbconvert(NULL,coltype(offset),dbdata(mssql_ptr->link,offset), res_length, SQLCHAR,res_buf,-1); } else { @@ -909,6 +922,8 @@ case SQLMONEY : case SQLMONEY4 : case SQLMONEYN : + case SQLDECIMAL : + case SQLNUMERIC : res_length += 5; break; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php