diff --git a/internal/core/src/segcore/segment_c.cpp b/internal/core/src/segcore/segment_c.cpp index df3b8fda7a..06643ea3f7 100644 --- a/internal/core/src/segcore/segment_c.cpp +++ b/internal/core/src/segcore/segment_c.cpp @@ -12,6 +12,7 @@ #include "segcore/segment_c.h" #include +#include #include "common/FieldData.h" #include "common/LoadInfo.h" @@ -239,6 +240,9 @@ Insert(CSegmentInterface c_segment, const uint8_t* data_info, const uint64_t data_info_len) { try { + AssertInfo(data_info_len < std::numeric_limits::max(), + "insert data length ({}) exceeds max int", + data_info_len); auto segment = static_cast(c_segment); auto insert_record_proto = std::make_unique();