diff options
| -rw-r--r-- | ext/informix/ifx.ec | 10 |
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; |
