diff --git a/web/tvm_runtime.js b/web/tvm_runtime.js index c23c1f9da7964b879b8675ab366a7016fed40856..df9cba94aa3a02055ea35382eacffb0c947bac4f 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");