jscript: Fixed visit_function_expression error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
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 @@
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 @@
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);