Jacek Caban : jscript: Fixed visit_function_expression error handling.

Alexandre Julliard julliard at winehq.org
Mon Oct 9 14:28:41 CDT 2017


Module: wine
Branch: master
Commit: 8f89e142eca5b042ad915d90daaccd2d7e1a83aa
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8f89e142eca5b042ad915d90daaccd2d7e1a83aa

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Oct  9 14:35:48 2017 +0200

jscript: Fixed visit_function_expression error handling.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/compile.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/jscript/compile.c b/dlls/jscript/compile.c
index cbc360f..8691595 100644
--- a/dlls/jscript/compile.c
+++ b/dlls/jscript/compile.c
@@ -1874,12 +1874,13 @@ static BOOL alloc_variable(compiler_ctx_t *ctx, const WCHAR *name)
     return alloc_local(ctx, ident, ctx->func->var_cnt++);
 }
 
-static BOOL visit_function_expression(compiler_ctx_t *ctx, function_expression_t *expr)
+static HRESULT visit_function_expression(compiler_ctx_t *ctx, function_expression_t *expr)
 {
     expr->func_id = ctx->func->func_cnt++;
     ctx->func_tail = ctx->func_tail ? (ctx->func_tail->next = expr) : (ctx->func_head = expr);
 
-    return !expr->identifier || expr->event_target || alloc_variable(ctx, expr->identifier);
+    return !expr->identifier || expr->event_target || alloc_variable(ctx, expr->identifier)
+        ? S_OK : E_OUTOFMEMORY;
 }
 
 static HRESULT visit_expression(compiler_ctx_t *ctx, expression_t *expr)
@@ -1992,7 +1993,7 @@ static HRESULT visit_expression(compiler_ctx_t *ctx, expression_t *expr)
         break;
     }
     case EXPR_FUNC:
-        visit_function_expression(ctx, (function_expression_t*)expr);
+        hres = visit_function_expression(ctx, (function_expression_t*)expr);
         break;
     case EXPR_MEMBER:
         hres = visit_expression(ctx, ((member_expression_t*)expr)->expression);




More information about the wine-cvs mailing list