summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/informix/ifx.ec10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/informix/ifx.ec b/ext/informix/ifx.ec
index 3aadc5a16c..f27b8d9fc1 100644
--- a/ext/informix/ifx.ec
+++ b/ext/informix/ifx.ec
@@ -2120,7 +2120,10 @@ $ifdef HAVE_IFX_IUS;
ifx_var_flag(&lvar_tmp,1);
EXEC SQL GET DESCRIPTOR :descrpid VALUE :i :lvar_tmp = DATA;
- fieldleng=ifx_var_getlen(&lvar_tmp);
+ fieldleng=ifx_var_getlen(&lvar_tmp);
+
+ if (fieldleng > 2) fieldleng -= 2; /* fix by Alan Sheperd */
+
if ((char_data = (char *)emalloc(fieldleng + 1)) == NULL) {
php_error(E_WARNING, "Out of memory");
RETURN_FALSE;
@@ -2467,7 +2470,10 @@ $ifdef HAVE_IFX_IUS;
ifx_var_flag(&lvar_tmp,1);
EXEC SQL GET DESCRIPTOR :descrpid VALUE :i :lvar_tmp = DATA;
- fieldleng=ifx_var_getlen(&lvar_tmp);
+ fieldleng=ifx_var_getlen(&lvar_tmp);
+
+ if (fieldleng > 2) fieldleng -= 2; /* fix by Alan Sheperd */
+
if ((char_data = (char *)emalloc(fieldleng + 1)) == NULL) {
php_error(E_WARNING, "Out of memory");
RETURN_FALSE;