sfox            Fri Mar 20 22:14:17 2009 UTC

  Modified files:              (Branch: PHP_5_2)
    /php-src/ext/pdo_dblib      dblib_driver.c dblib_stmt.c 
  Log:
  MFH: Fixed bug #38805 ( PDO Truncates Text from SQL Server Text Data Type 
Field)
    - Bring behaviour into line with ext/mssql 
    - Several memleaks plugged
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_dblib/dblib_driver.c?r1=1.9.2.2.2.4&r2=1.9.2.2.2.5&diff_format=u
Index: php-src/ext/pdo_dblib/dblib_driver.c
diff -u php-src/ext/pdo_dblib/dblib_driver.c:1.9.2.2.2.4 
php-src/ext/pdo_dblib/dblib_driver.c:1.9.2.2.2.5
--- php-src/ext/pdo_dblib/dblib_driver.c:1.9.2.2.2.4    Wed Dec 31 11:17:41 2008
+++ php-src/ext/pdo_dblib/dblib_driver.c        Fri Mar 20 22:14:17 2009
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: dblib_driver.c,v 1.9.2.2.2.4 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: dblib_driver.c,v 1.9.2.2.2.5 2009/03/20 22:14:17 sfox Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -229,7 +229,11 @@
        if (H->link == NULL) {
                goto cleanup;
        }
-       
+
+       if (DBSETOPT(H->link, DBTEXTLIMIT, "2147483647") == FAIL) {
+               goto cleanup;
+       }
+
        if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) {
                goto cleanup;
        }
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo_dblib/dblib_stmt.c?r1=1.6.2.2.2.6&r2=1.6.2.2.2.7&diff_format=u
Index: php-src/ext/pdo_dblib/dblib_stmt.c
diff -u php-src/ext/pdo_dblib/dblib_stmt.c:1.6.2.2.2.6 
php-src/ext/pdo_dblib/dblib_stmt.c:1.6.2.2.2.7
--- php-src/ext/pdo_dblib/dblib_stmt.c:1.6.2.2.2.6      Wed Dec 31 11:17:41 2008
+++ php-src/ext/pdo_dblib/dblib_stmt.c  Fri Mar 20 22:14:17 2009
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: dblib_stmt.c,v 1.6.2.2.2.6 2008/12/31 11:17:41 sebastian Exp $ */
+/* $Id: dblib_stmt.c,v 1.6.2.2.2.7 2009/03/20 22:14:17 sfox Exp $ */
 
 #ifdef HAVE_CONFIG_H
 # include "config.h"
@@ -113,18 +113,27 @@
                stmt->column_count = S->ncols;
        
                for (i = 0, j = 0; i < S->ncols; i++) {
+                       char *tmp = NULL;
+
                        S->cols[i].coltype = dbcoltype(H->link, i+1);
-                       S->cols[i].name = dbcolname(H->link, i+1);
-                       if (S->cols[i].name) {
-                               S->cols[i].name = estrdup(S->cols[i].name);
-                       } else if (j) {
-                               spprintf(&S->cols[i].name, 0, "computed%d", 
j++);
-                       } else {
-                               S->cols[i].name = estrdup("computed");
-                               j++;
+                       S->cols[i].name = (char*)dbcolname(H->link, i+1);
+
+                       if (!strlen(S->cols[i].name)) {
+                               if (j) {
+                                       spprintf(&tmp, 0, "computed%d", j++);
+                                       strlcpy(S->cols[i].name, tmp, 
strlen(tmp)+1);
+                                       efree(tmp);
+                               } else {
+                                       S->cols[i].name = "computed";
+                                       j++;
+                               }
                        }
-                       S->cols[i].source = dbcolsource(H->link, i+1);
-                       S->cols[i].source = estrdup(S->cols[i].source ? 
S->cols[i].source : "");
+
+                       S->cols[i].source = (char*)dbcolsource(H->link, i+1);
+                       tmp = estrdup(S->cols[i].source ? S->cols[i].source : 
"");
+                       S->cols[i].source = tmp;
+                       efree(tmp);
+
                        S->cols[i].maxlen = dbcollen(H->link, i+1);
                }
        }



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to