diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2013-05-15 17:52:00 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2013-05-16 17:25:24 +0200 |
commit | f59ab10a6415e7dce7a6c3b6e734c213298ec205 (patch) | |
tree | 0bb6c686383da23ac6a2c73b23218a6296801b4c /src/string_bytes.cc | |
parent | 4cd643ee2d82d8bc2a4a7feab975b5c451ef692f (diff) | |
download | android-node-v8-f59ab10a6415e7dce7a6c3b6e734c213298ec205.tar.gz android-node-v8-f59ab10a6415e7dce7a6c3b6e734c213298ec205.tar.bz2 android-node-v8-f59ab10a6415e7dce7a6c3b6e734c213298ec205.zip |
buffer, crypto: fix default encoding regression
The default encoding is 'buffer'. When the input is a string, treat it
as 'binary'. Fixes the following assertion:
node: ../src/string_bytes.cc:309: static size_t
node::StringBytes::StorageSize(v8::Handle<v8::Value>, node::encoding):
Assertion `0 && "buffer encoding specified but string provided"'
failed.
Introduced in 64fc34b2.
Fixes #5482.
Diffstat (limited to 'src/string_bytes.cc')
-rw-r--r-- | src/string_bytes.cc | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/string_bytes.cc b/src/string_bytes.cc index 5c90ae26f1..90050dfcb5 100644 --- a/src/string_bytes.cc +++ b/src/string_bytes.cc @@ -220,7 +220,8 @@ size_t StringBytes::Write(char* buf, break; } - case BINARY: { + case BINARY: + case BUFFER: { // TODO(isaacs): THIS IS AWFUL!!! uint16_t* twobytebuf = new uint16_t[buflen]; @@ -248,10 +249,6 @@ size_t StringBytes::Write(char* buf, break; } - case BUFFER: - assert(0 && "buffer encoding specified, but string provided"); - break; - default: assert(0 && "unknown encoding"); break; @@ -277,6 +274,7 @@ size_t StringBytes::StorageSize(Handle<Value> val, enum encoding encoding) { switch (encoding) { case BINARY: + case BUFFER: case ASCII: data_size = str->Length(); break; @@ -305,10 +303,6 @@ size_t StringBytes::StorageSize(Handle<Value> val, enum encoding encoding) { data_size = str->Length() / 2; break; - case BUFFER: - assert(0 && "buffer encoding specified but string provided"); - break; - default: assert(0 && "unknown encoding"); break; @@ -331,6 +325,7 @@ size_t StringBytes::Size(Handle<Value> val, enum encoding encoding) { switch (encoding) { case BINARY: + case BUFFER: case ASCII: data_size = str->Length(); break; @@ -357,10 +352,6 @@ size_t StringBytes::Size(Handle<Value> val, enum encoding encoding) { data_size = str->Length() / 2; break; - case BUFFER: - assert(0 && "buffer encoding specified by string provided"); - break; - default: assert(0 && "unknown encoding"); break; |