| Index: Source/modules/encoding/TextEncoder.cpp
|
| diff --git a/Source/modules/encoding/TextEncoder.cpp b/Source/modules/encoding/TextEncoder.cpp
|
| index b1d2be1afa8e37e9920bf1c661c44c5ea636e398..a669e0272d11dec6c3a1ad3e3f6a4def86744287 100644
|
| --- a/Source/modules/encoding/TextEncoder.cpp
|
| +++ b/Source/modules/encoding/TextEncoder.cpp
|
| @@ -84,10 +84,12 @@ PassRefPtr<Uint8Array> TextEncoder::encode(const String& input, const Dictionary
|
| // handle split surrogates here.
|
|
|
| CString result;
|
| - if (input.is8Bit())
|
| - result = m_codec->encode(input.characters8(), input.length(), WTF::QuestionMarksForUnencodables);
|
| - else
|
| - result = m_codec->encode(input.characters16(), input.length(), WTF::QuestionMarksForUnencodables);
|
| + if (!input.isNull()) {
|
| + if (input.is8Bit())
|
| + result = m_codec->encode(input.characters8(), input.length(), WTF::QuestionMarksForUnencodables);
|
| + else
|
| + result = m_codec->encode(input.characters16(), input.length(), WTF::QuestionMarksForUnencodables);
|
| + }
|
|
|
| const char* buffer = result.data();
|
| const unsigned char* unsignedBuffer = reinterpret_cast<const unsigned char*>(buffer);
|
|
|