]> granicus.if.org Git - php/commitdiff
Fix #33201 Crash when fetching some data types
authorFrank M. Kromann <fmk@php.net>
Fri, 18 Nov 2005 21:22:50 +0000 (21:22 +0000)
committerFrank M. Kromann <fmk@php.net>
Fri, 18 Nov 2005 21:22:50 +0000 (21:22 +0000)
NEWS
ext/mssql/php_mssql.c

diff --git a/NEWS b/NEWS
index 0f5c81ddb63088614c6d73833591a6109c67181e..175a799c21e3ec21f0766d2d3a41bccdd0a92717 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -29,3 +29,4 @@ PHP                                                                        NEWS
 - Fixed bug #33153 (crash in mssql_next result). (Frank)
 - Fixed bug #32009 (crash when mssql_bind() is called more than once). (Frank)
 - Fixed bug #33963 (mssql_bind() fails on input parameters). (Frank)
+- Fixed bug #33201 (Crash when fetching some data types). (Frank)
index 5635e651307b8e5e5f38fbecf226854b4f175392..a9f0451d7285cf1a7e57a4e4cf8333467375e82e 100644 (file)
@@ -891,11 +891,9 @@ static void php_mssql_get_column_content_with_type(mssql_link *mssql_ptr,int off
                                if ((column_type != SQLDATETIME && column_type != SQLDATETIM4) || MS_SQL_G(datetimeconvert)) {
 
                                        switch (column_type) {
-                                               case SQLDATETIM4 :
-                                                       res_length += 14;
-                                                       break;
                                                case SQLDATETIME :
-                                                       res_length += 10;
+                                               case SQLDATETIM4 :
+                                                       res_length += 20;
                                                        break;
                                                case SQLMONEY :
                                                case SQLMONEY4 :
@@ -903,6 +901,8 @@ static void php_mssql_get_column_content_with_type(mssql_link *mssql_ptr,int off
                                                case SQLDECIMAL :
                                                case SQLNUMERIC :
                                                        res_length += 5;
+                                               case 127 :
+                                                       res_length += 20;
                                                        break;
                                        }
 
@@ -961,11 +961,9 @@ static void php_mssql_get_column_content_without_type(mssql_link *mssql_ptr,int
                if ((column_type != SQLDATETIME && column_type != SQLDATETIM4) || MS_SQL_G(datetimeconvert)) {
 
                        switch (column_type) {
-                               case SQLDATETIM4 :
-                                       res_length += 14;
-                                       break;
                                case SQLDATETIME :
-                                       res_length += 10;
+                               case SQLDATETIM4 :
+                                       res_length += 20;
                                        break;
                                case SQLMONEY :
                                case SQLMONEY4 :
@@ -973,6 +971,8 @@ static void php_mssql_get_column_content_without_type(mssql_link *mssql_ptr,int
                                case SQLDECIMAL :
                                case SQLNUMERIC :
                                        res_length += 5;
+                               case 127 :
+                                       res_length += 20;
                                        break;
                        }