On 03/09/2017 03:01 PM, Dmitry Eremin-Solenikov wrote:
Check that passed pool is not ODP_POOL_INVALID before goint to try to
allocate buffers from that pool.
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsoleni...@linaro.org>
---
platform/linux-generic/odp_pool.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/platform/linux-generic/odp_pool.c
b/platform/linux-generic/odp_pool.c
index cf7c2c41..f0b64932 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -768,6 +768,9 @@ odp_buffer_t odp_buffer_alloc(odp_pool_t pool_hdl)
pool_t *pool;
int ret;
+ if (ODP_POOL_INVALID == pool_hdl)
+ return ODP_BUFFER_INVALID;
+
That is fast path function. Or is has to be under ifdef ODP_DEBUG or not
completely be here. Right behavior is
segfault on bad input.
Maxim.
pool = pool_entry_from_hdl(pool_hdl);
ret = buffer_alloc_multi(pool, &buf, NULL, 1);