diff --git a/dlls/jscript/array.c b/dlls/jscript/array.c index 43cc61fd151..c4d7399c50b 100644 --- a/dlls/jscript/array.c +++ b/dlls/jscript/array.c @@ -433,9 +433,10 @@ static HRESULT Array_sort(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS cmp_func = iface_to_jsdisp((IUnknown*)V_DISPATCH(arg)); - if(!is_class(cmp_func, JSCLASS_FUNCTION)) { + if(!cmp_func || !is_class(cmp_func, JSCLASS_FUNCTION)) { WARN("cmp_func is not a function\n"); - jsdisp_release(cmp_func); + if(cmp_func) + jsdisp_release(cmp_func); return E_FAIL; } }