Commit a2383b31 by Ian Lance Taylor

runtime: Reject surrogate pairs in range over string.

From-SVN: r191638
parent 1e39ea08
......@@ -53,6 +53,14 @@ __go_get_rune (const unsigned char *str, size_t len, int *rune)
*rune = (((c & 0xf) << 12)
+ ((c1 & 0x3f) << 6)
+ (c2 & 0x3f));
if (*rune >= 0xd800 && *rune < 0xe000)
{
/* Invalid surrogate half; return replace character. */
*rune = 0xfffd;
return 1;
}
return 3;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment