Descriptionunicode-decoder: fix out-of-band write in utf16
`WriteUtf16Slow` should not assume that the output buffer has enough
bytes to hold both words of surrogate pair. It should pass the number of
remaining bytes to the `Utf8::ValueOf` instead, just as we already do in
`Utf8DecoderBase::Reset`. Otherwise it will attempt to write the trail
uint16_t past the buffer boundary, leading to memory corruption and
possible crash.
Originally reported by: Kris Reeves <kris.re@bbhmedia.com>
BUG=v8:4274
R=danno
R=svenpanne
LOG=y
Committed: https://crrev.com/b199bcdd47ae97ec116b430e34ab42001c8f04c0
Cr-Commit-Position: refs/heads/master@{#29485}
Patch Set 1 #Patch Set 2 : fix memory leak #Patch Set 3 : better fix #
Total comments: 4
Patch Set 4 : fixes #
Messages
Total messages: 18 (4 generated)
|