From 50cab28dd42e904b3cc667958afec541160cdc62 Mon Sep 17 00:00:00 2001 From: mikhnenko Date: Fri, 12 Sep 2025 13:58:48 +0300 Subject: Fix potential pointers overflow commit_hash:20039ca128a1ef8c3aaf337d71d58b1ecec783a1 --- library/cpp/yt/memory/ref.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'library/cpp/yt/memory/ref.cpp') diff --git a/library/cpp/yt/memory/ref.cpp b/library/cpp/yt/memory/ref.cpp index 67032586eff..fc153bb02e3 100644 --- a/library/cpp/yt/memory/ref.cpp +++ b/library/cpp/yt/memory/ref.cpp @@ -278,11 +278,15 @@ std::vector TSharedRef::Split(size_t partSize) const { YT_VERIFY(partSize > 0); std::vector result; + if (partSize >= Size()) { + result.push_back(Slice(Begin(), End())); + return result; + } result.reserve(Size() / partSize + 1); auto sliceBegin = Begin(); while (sliceBegin < End()) { auto sliceEnd = sliceBegin + partSize; - if (sliceEnd < sliceBegin || sliceEnd > End()) { + if (sliceEnd > End()) { sliceEnd = End(); } result.push_back(Slice(sliceBegin, sliceEnd)); -- cgit v1.3