buffer: prevent abort on indexOf with lone surrogate needle

Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
PR-URL: https://github.com/nodejs/node/pull/65430
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
This commit is contained in:
Rafael Gonzaga authored and GitHub committed 2026-08-25 10:32:37 +00:00
1 parent f9f3fa96b2
commit 54b4e372f3
2 files changed
+30 -2

No files matched your search

+4 -2
View File
@@ -533,8 +533,10 @@ Maybe<size_t> StringBytes::Size(Isolate* isolate,
return Just<size_t>(simdutf::utf8_length_from_latin1(
reinterpret_cast<const char*>(view.data8()), view.length()));
}
return Just<size_t>(simdutf::utf8_length_from_utf16(
reinterpret_cast<const char16_t*>(view.data16()), view.length()));
return Just<size_t>(
simdutf::utf8_length_from_utf16_with_replacement(
reinterpret_cast<const char16_t*>(view.data16()), view.length())
.count);
case UCS2:
return Just(view.length() * sizeof(uint16_t));