From 51c3a8912c9f62db86de85bb6b9365fd42367608 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 26 Sep 2023 17:21:42 +0900 Subject: [PATCH] sw_engine: fix an invalid memory access. the surface and mesh data can be missed by an invalid condition. this fixes an invalid memory access problem. Issue: https://github.com/thorvg/thorvg/issues/1671 --- src/renderer/sw_engine/tvgSwRenderer.cpp | 6 ++---- wasm_cross.txt | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/renderer/sw_engine/tvgSwRenderer.cpp b/src/renderer/sw_engine/tvgSwRenderer.cpp index 8642a3ae..049aa3d1 100644 --- a/src/renderer/sw_engine/tvgSwRenderer.cpp +++ b/src/renderer/sw_engine/tvgSwRenderer.cpp @@ -773,10 +773,8 @@ RenderData SwRenderer::prepare(Surface* surface, const RenderMesh* mesh, RenderD //prepare task auto task = static_cast(data); if (!task) task = new SwImageTask; - if (flags & RenderUpdateFlag::Image) { - task->source = surface; - task->mesh = mesh; - } + task->source = surface; + task->mesh = mesh; return prepareCommon(task, transform, clips, opacity, flags); } diff --git a/wasm_cross.txt b/wasm_cross.txt index 6b0c220a..57d0d314 100644 --- a/wasm_cross.txt +++ b/wasm_cross.txt @@ -13,6 +13,7 @@ exe_suffix = 'js' [built-in options] cpp_args = ['-Wshift-negative-value', '-flto', '-Os', '-fno-exceptions'] cpp_link_args = ['-Wshift-negative-value', '-flto', '-Os', '-fno-exceptions', '--bind', '-sWASM=1', '-sALLOW_MEMORY_GROWTH=1', '-sFORCE_FILESYSTEM=1'] +#cpp_link_args = ['-Wshift-negative-value', '-flto', '-Os', '-fno-exceptions', '--bind', '-sWASM=1', '-sALLOW_MEMORY_GROWTH=1', '-sFORCE_FILESYSTEM=1', '-g'] //enable g flag for wasm debugging [host_machine] system = 'emscripten'