# 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;