Merge pull request #40 from matrix-org/rav/fix_encryption

Avoid buffer overrun on encryption
This commit is contained in:
Richard van der Hoff 2016-12-16 15:01:45 +00:00 committed by GitHub
commit 819f0d24db
2 changed files with 16 additions and 0 deletions

View file

@ -83,6 +83,14 @@ OutboundGroupSession.prototype['encrypt'] = function(plaintext) {
plaintext_buffer, plaintext_length,
message_buffer, message_length
);
// UTF8ToString requires a null-terminated argument, so add the
// null terminator.
Module['setValue'](
message_buffer+message_length,
0, "i8"
);
return Module['UTF8ToString'](message_buffer);
} finally {
if (plaintext_buffer !== undefined) {

View file

@ -335,6 +335,14 @@ Session.prototype['encrypt'] = restore_stack(function(
random, random_length,
message_buffer, message_length
);
// UTF8ToString requires a null-terminated argument, so add the
// null terminator.
Module['setValue'](
message_buffer+message_length,
0, "i8"
);
return {
"type": message_type,
"body": Module['UTF8ToString'](message_buffer),