diff options
Diffstat (limited to 'ext/informix/ifx.ec')
-rw-r--r-- | ext/informix/ifx.ec | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/ext/informix/ifx.ec b/ext/informix/ifx.ec index f8fa0ba43c..8f9f5bb918 100644 --- a/ext/informix/ifx.ec +++ b/ext/informix/ifx.ec @@ -1096,7 +1096,13 @@ EXEC SQL END DECLARE SECTION; } if(ARG_COUNT(ht)==3) { - getParameters(ht, ARG_COUNT(ht), &dummy,&dummy,&pblobidarr); + if (getParameters(ht, 3, &dummy, &dummy, &pblobidarr) == FAILURE) { + php3_error(E_WARNING,"Can't get blob array param"); + EXEC SQL DEALLOCATE DESCRIPTOR :descrpid; + EXEC SQL free :statemid; + efree(Ifx_Result); + RETURN_FALSE; + } if (pblobidarr->type != IS_ARRAY) { php3_error(E_WARNING,"blob-parameter not an array"); EXEC SQL DEALLOCATE DESCRIPTOR :descrpid; @@ -1493,7 +1499,13 @@ EXEC SQL END DECLARE SECTION; } if(ARG_COUNT(ht)==3) { Ifx_Result->paramquery=1; - getParameters(ht, ARG_COUNT(ht), &dummy,&dummy,&pblobidarr); + if (getParameters(ht, 3, &dummy, &dummy,&pblobidarr) == FAILURE) { + php3_error(E_WARNING,"Can't get blob array param"); + EXEC SQL DEALLOCATE DESCRIPTOR :descrpid; + EXEC SQL free :statemid; + efree(Ifx_Result); + RETURN_FALSE; + } if(pblobidarr->type != IS_ARRAY) { php3_error(E_WARNING,"blob-parameter not an array"); EXEC SQL DEALLOCATE DESCRIPTOR :descrpid; |