diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c index 11b434fe9fb98c8cf39905fd5175704d12c7f7a6..0ae142a99e5a44d7dd957b0f99c3a54c8efb56b1 100644 --- a/dlls/jscript/engine.c +++ b/dlls/jscript/engine.c @@ -1509,8 +1509,11 @@ static HRESULT add_eval(script_ctx_t *ctx, VARIANT *lval, VARIANT *rval, jsexcep V_VT(retv) = VT_BSTR; V_BSTR(retv) = SysAllocStringLen(NULL, len1+len2); - memcpy(V_BSTR(retv), lstr, len1*sizeof(WCHAR)); - memcpy(V_BSTR(retv)+len1, rstr, (len2+1)*sizeof(WCHAR)); + if(len1) + memcpy(V_BSTR(retv), lstr, len1*sizeof(WCHAR)); + if(len2) + memcpy(V_BSTR(retv)+len1, rstr, len2*sizeof(WCHAR)); + V_BSTR(retv)[len1+len2] = 0; } if(V_VT(&l) != VT_BSTR)