Skip to content

Commit 010dfcb

Browse files
committed
fix uint32 overflow
1 parent 21e20f3 commit 010dfcb

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

python_bindings/bindings.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -292,12 +292,12 @@ class Index {
292292
py::dict getAnnData() const { /* WARNING: Index::getAnnData is not thread-safe with Index::addItems */
293293
std::unique_lock <std::mutex> templock(appr_alg->global);
294294

295-
unsigned int level0_npy_size = appr_alg->cur_element_count * appr_alg->size_data_per_element_;
296-
unsigned int link_npy_size = 0;
297-
std::vector<unsigned int> link_npy_offsets(appr_alg->cur_element_count);
295+
size_t level0_npy_size = appr_alg->cur_element_count * appr_alg->size_data_per_element_;
296+
size_t link_npy_size = 0;
297+
std::vector<size_t> link_npy_offsets(appr_alg->cur_element_count);
298298

299299
for (size_t i = 0; i < appr_alg->cur_element_count; i++){
300-
unsigned int linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
300+
size_t linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
301301
link_npy_offsets[i]=link_npy_size;
302302
if (linkListSize)
303303
link_npy_size += linkListSize;
@@ -326,7 +326,7 @@ class Index {
326326
memcpy(element_levels_npy, appr_alg->element_levels_.data(), appr_alg->element_levels_.size() * sizeof(int));
327327

328328
for (size_t i = 0; i < appr_alg->cur_element_count; i++){
329-
unsigned int linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
329+
size_t linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
330330
if (linkListSize){
331331
memcpy(link_list_npy+link_npy_offsets[i], appr_alg->linkLists_[i], linkListSize);
332332
}
@@ -500,11 +500,11 @@ class Index {
500500

501501
memcpy(appr_alg->element_levels_.data(), element_levels_npy.data(), element_levels_npy.nbytes());
502502

503-
unsigned int link_npy_size = 0;
504-
std::vector<unsigned int> link_npy_offsets(appr_alg->cur_element_count);
503+
size_t link_npy_size = 0;
504+
std::vector<size_t> link_npy_offsets(appr_alg->cur_element_count);
505505

506506
for (size_t i = 0; i < appr_alg->cur_element_count; i++){
507-
unsigned int linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
507+
size_t linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
508508
link_npy_offsets[i]=link_npy_size;
509509
if (linkListSize)
510510
link_npy_size += linkListSize;
@@ -513,7 +513,7 @@ class Index {
513513
memcpy(appr_alg->data_level0_memory_, data_level0_npy.data(), data_level0_npy.nbytes());
514514

515515
for (size_t i = 0; i < appr_alg->max_elements_; i++) {
516-
unsigned int linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
516+
size_t linkListSize = appr_alg->element_levels_[i] > 0 ? appr_alg->size_links_per_element_ * appr_alg->element_levels_[i] : 0;
517517
if (linkListSize == 0) {
518518
appr_alg->linkLists_[i] = nullptr;
519519
} else {

0 commit comments

Comments
 (0)