The upper range of IDs (base + n_ids) should not exceed max uint32. In that case id_pool_create() automatically reduces n_ids to max uint32 - base.
Signed-off-by: Aleksandr Smirnov <[email protected]> --- lib/id-pool.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/id-pool.c b/lib/id-pool.c index 69910ad08..3e7188d27 100644 --- a/lib/id-pool.c +++ b/lib/id-pool.c @@ -43,6 +43,9 @@ id_pool_create(uint32_t base, uint32_t n_ids) struct id_pool *pool; pool = xmalloc(sizeof *pool); + + n_ids = MIN(UINT32_MAX - base, n_ids); + id_pool_init(pool, base, n_ids); return pool; -- 2.49.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
