From 5a3fd658ec82c82c31217e4c94eeea3647980687 Mon Sep 17 00:00:00 2001 From: Zhixun Tan <phisiart@gmail.com> Date: Mon, 26 Feb 2018 18:42:11 -0800 Subject: [PATCH] Append null terminator when converting JS string to c string. (#931) --- web/tvm_runtime.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web/tvm_runtime.js b/web/tvm_runtime.js index c23c1f9da..df9cba94a 100644 --- a/web/tvm_runtime.js +++ b/web/tvm_runtime.js @@ -291,10 +291,11 @@ var tvm_runtime = tvm_runtime || {}; } function StringToUint8Array(str) { - var arr = new Uint8Array(str.length); + var arr = new Uint8Array(str.length + 1); for(var i = 0; i < str.length; ++i) { arr[i] = str.charCodeAt(i); } + arr[str.length] = 0; return arr; } //----------------------------------------- @@ -599,7 +600,7 @@ var tvm_runtime = tvm_runtime || {}; Module.setValue(this.value + index * SIZEOF_TVMVALUE, value, "*"); }, setString : function(index, value) { - var sdata = new CBuffer(value.length); + var sdata = new CBuffer(value.length + 1); Module.HEAPU8.set(StringToUint8Array(value), sdata.data); this.temp.push(sdata); Module.setValue(this.tcode + index * SIZEOF_INT, kStr, "i32"); -- GitLab