diff --git a/internal/core/src/common/RangeSearchHelper.cpp b/internal/core/src/common/RangeSearchHelper.cpp index 2032f1aa376ec27f99196f6c1af2d851cd9d6874..d21f9f2adfeb3791fe22564595aed8a0f9f3297a 100644 --- a/internal/core/src/common/RangeSearchHelper.cpp +++ b/internal/core/src/common/RangeSearchHelper.cpp @@ -46,7 +46,10 @@ SortRangeSearchResult(DatasetPtr data_set, int64_t topk, int64_t nq, std::string // use p_id and p_dist to GenResultDataset after sorted auto p_id = new int64_t[topk * nq]; + memset(p_id, -1, sizeof(int64_t) * topk * nq); auto p_dist = new float[topk * nq]; + std::fill_n(p_dist, topk * nq, std::numeric_limits::max()); + // cnt means the subscript of p_id and p_dist int cnt = 0; diff --git a/internal/core/unittest/test_range_search_sort.cpp b/internal/core/unittest/test_range_search_sort.cpp index e1a676e3b0b7753c852d96a8fae4eb74e109ff23..167e153172c3975219f0383b2a105a3e9744435d 100644 --- a/internal/core/unittest/test_range_search_sort.cpp +++ b/internal/core/unittest/test_range_search_sort.cpp @@ -37,7 +37,9 @@ RangeSearchSortResultBF(milvus::DatasetPtr data_set, int64_t topk, size_t nq, st auto id = milvus::GetDatasetIDs(data_set); auto dist = milvus::GetDatasetDistance(data_set); auto p_id = new int64_t[topk * nq]; + memset(p_id, -1, sizeof(int64_t) * topk * nq); auto p_dist = new float[topk * nq]; + std::fill_n(p_dist, topk * nq, std::numeric_limits::max()); // cnt means the subscript of p_id and p_dist int cnt = 0; for (int i = 0; i < nq; i++) {