diff options
author | Chad Austin <caustin@gmail.com> | 2013-02-26 00:57:45 -0800 |
---|---|---|
committer | Jukka Jylänki <jujjyl@gmail.com> | 2013-04-12 14:24:15 +0300 |
commit | 6a2a01fe0ec1a297c5a45e21a6107e592986e762 (patch) | |
tree | af79f89892f35aad7953ca3d1aacc1b3cb27860e | |
parent | 5d119a9acbfd75413bb81fd87d858c9d4d1d6f0e (diff) |
We were misusing writeStringToMemory which could cause memory corruption.
-rwxr-xr-x | src/embind/embind.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js index 29fb80bf..91812697 100755 --- a/src/embind/embind.js +++ b/src/embind/embind.js @@ -2,7 +2,7 @@ /*global Module*/ /*global _malloc, _free, _memcpy*/ /*global FUNCTION_TABLE, HEAP32, HEAP8*/ -/*global Pointer_stringify, writeStringToMemory*/ +/*global Pointer_stringify*/ /*global __emval_register, _emval_handle_array, __emval_decref*/ /*global ___getDynamicPointerType: false*/ /*global ___typeName:false*/ @@ -274,7 +274,9 @@ RegisteredString.prototype.toWireType = function(destructors, value) { var length = value.length; var ptr = _malloc(4 + length); HEAP32[ptr >> 2] = length; - writeStringToMemory(value, ptr + 4); + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + 4 + i] = value.charCodeAt(i); + } destructors.push(_free); destructors.push(ptr); return ptr; |