Don't allow invalid encodings in StringDecoder class
This commit is contained in:
parent
77ed12fe7a
commit
314c6b3060
@ -19,8 +19,15 @@
|
|||||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
function assertEncoding(encoding) {
|
||||||
|
if (encoding && !Buffer.isEncoding(encoding)) {
|
||||||
|
throw new Error('Unknown encoding: ' + encoding);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var StringDecoder = exports.StringDecoder = function(encoding) {
|
var StringDecoder = exports.StringDecoder = function(encoding) {
|
||||||
this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
|
this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
|
||||||
|
assertEncoding(encoding);
|
||||||
switch (this.encoding) {
|
switch (this.encoding) {
|
||||||
case 'utf8':
|
case 'utf8':
|
||||||
// CESU-8 represents each of Surrogate Pair by 3-bytes
|
// CESU-8 represents each of Surrogate Pair by 3-bytes
|
||||||
|
Loading…
x
Reference in New Issue
Block a user