30 lines
810 B
Diff
30 lines
810 B
Diff
# UNDF: UNDF-2026-000000882
|
|
--- a/src/libs/zbxdiscoverer/discoverer_queue.c
|
|
+++ b/src/libs/zbxdiscoverer/discoverer_queue.c
|
|
@@ -108,7 +108,8 @@
|
|
{
|
|
zbx_discoverer_job_t *job;
|
|
- zbx_vector_uint64_t ids;
|
|
+ zbx_hashset_t ids;
|
|
int one_task = SUCCEED;
|
|
- zbx_vector_uint64_create(&ids);
|
|
+
|
|
+ zbx_hashset_create(&ids, 64, ZBX_DEFAULT_UINT64_HASH_FUNC, ZBX_DEFAULT_UINT64_COMPARE_FUNC);
|
|
|
|
while (1)
|
|
@@ -133,10 +134,10 @@
|
|
if (queue->jobs.head == queue->jobs.tail && SUCCEED == one_task)
|
|
break;
|
|
|
|
- if (FAIL != zbx_vector_uint64_search(&ids, id, ZBX_DEFAULT_UINT64_COMPARE_FUNC))
|
|
+ if (NULL != zbx_hashset_search(&ids, &id))
|
|
break;
|
|
|
|
- zbx_vector_uint64_append(&ids, id);
|
|
+ zbx_hashset_insert(&ids, &id, sizeof(id));
|
|
}
|
|
|
|
- zbx_vector_uint64_destroy(&ids);
|
|
+ zbx_hashset_destroy(&ids);
|
|
|
|
return job;
|