Paul Gofman : jscript: Avoid use after free in JSON_parse().
Alexandre Julliard
julliard at winehq.org
Fri Aug 6 16:10:40 CDT 2021
Module: wine
Branch: master
Commit: 6b22f2bd6003ccc1849900dad0c356cb295d3469
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6b22f2bd6003ccc1849900dad0c356cb295d3469
Author: Paul Gofman <pgofman at codeweavers.com>
Date: Fri Aug 6 16:56:49 2021 +0200
jscript: Avoid use after free in JSON_parse().
Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/jscript/json.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/jscript/json.c b/dlls/jscript/json.c
index a8014f95b4f..f2fbb80dc09 100644
--- a/dlls/jscript/json.c
+++ b/dlls/jscript/json.c
@@ -291,16 +291,14 @@ static HRESULT JSON_parse(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsign
parse_ctx.end = buf + jsstr_length(str);
parse_ctx.ctx = ctx;
hres = parse_json_value(&parse_ctx, &ret);
+ if(SUCCEEDED(hres) && skip_spaces(&parse_ctx)) {
+ FIXME("syntax error\n");
+ hres = E_FAIL;
+ }
jsstr_release(str);
if(FAILED(hres))
return hres;
- if(skip_spaces(&parse_ctx)) {
- FIXME("syntax error\n");
- jsval_release(ret);
- return E_FAIL;
- }
-
if(r)
*r = ret;
else
More information about the wine-cvs
mailing list