]> granicus.if.org Git - php/commitdiff
Limit the size of columns to 64K, so we don't try to allocate 2GB for each text
authorWez Furlong <wez@php.net>
Tue, 19 Jul 2005 03:39:49 +0000 (03:39 +0000)
committerWez Furlong <wez@php.net>
Tue, 19 Jul 2005 03:39:49 +0000 (03:39 +0000)
column coming out of informix.

Refs Bug #33533.

Not totally closed yet; still need to cater for text fields longer than 64k in a sane manner.

ext/pdo_odbc/odbc_stmt.c

index 0c6f77f4596e7fae87c1eb78bb6fe80e2f8aa16b..00f88f16d2d48fab15c2d9bda73202d3d54b5f71 100755 (executable)
@@ -386,6 +386,12 @@ static int odbc_stmt_describe(pdo_stmt_t *stmt, int colno TSRMLS_DC)
                return 0;
        }
 
+       /* enforce a practical limitation.
+        * TODO: make this work more nicely */
+       if (colsize > 65535) {
+               colsize = 65535;
+       }
+
        col->maxlen = S->cols[colno].datalen = colsize;
        col->namelen = colnamelen;
        col->name = estrdup(S->cols[colno].colname);