From 97dc5e7f396129222419811c173edc7fa767b0f8 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Wed, 30 Aug 2017 19:53:37 +0200 Subject: erts: Fix crash in binary_to_atom/term for invalid utf8 such as a sub-binary, of a correct utf8 string, that ends in the middle of a character. --- erts/emulator/beam/atom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'erts/emulator/beam/atom.c') diff --git a/erts/emulator/beam/atom.c b/erts/emulator/beam/atom.c index 84d2d5e3ed..f95582d1ab 100644 --- a/erts/emulator/beam/atom.c +++ b/erts/emulator/beam/atom.c @@ -137,7 +137,7 @@ atom_hash(Atom* obj) while(len--) { v = *p++; /* latin1 clutch for r16 */ - if ((v & 0xFE) == 0xC2 && (*p & 0xC0) == 0x80) { + if (len && (v & 0xFE) == 0xC2 && (*p & 0xC0) == 0x80) { v = (v << 6) | (*p & 0x3F); p++; len--; } -- cgit v1.2.3