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