SQInteger nargs = args;
if (paramssize != nargs) {
SQInteger ndef = func->_ndefaultparams;
- if(ndef && nargs < paramssize) {
- SQInteger diff = paramssize - nargs;
+ SQInteger diff;
+ if(ndef && nargs < paramssize && (diff = paramssize - nargs) <= ndef) {
for(SQInteger n = ndef - diff; n < ndef; n++) {
_stack._vals[stackbase + (nargs++)] = closure->_defaultparams[n];
}