[dpdk-dev] [PATCH] examples/performance-thread: fix out-of-bounds read
Slawomir Mrozowicz
slawomirx.mrozowicz at intel.com
Wed Sep 20 10:21:10 CEST 2017
Overrunning array per_lcore_this_sched->current_lthread->tls->data of
1024 8-byte elements at element index 1024 using index k.
Fixed by correct check k condition.
Coverity issue: 143463
Fixes: 116819b9ed0d ("examples/performance-thread: add lthread subsystem")
Cc: ian.betts at intel.com
Cc: stable at dpdk.org
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz at intel.com>
---
examples/performance-thread/common/lthread_tls.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/examples/performance-thread/common/lthread_tls.c b/examples/performance-thread/common/lthread_tls.c
index 47505f2d4..4ae3c6c03 100644
--- a/examples/performance-thread/common/lthread_tls.c
+++ b/examples/performance-thread/common/lthread_tls.c
@@ -198,11 +198,12 @@ void _lthread_tls_destroy(struct lthread *lt)
void
*lthread_getspecific(unsigned int k)
{
+ void *res = NULL;
- if (k > LTHREAD_MAX_KEYS)
- return NULL;
+ if (k < LTHREAD_MAX_KEYS)
+ res = THIS_LTHREAD->tls->data[k];
- return THIS_LTHREAD->tls->data[k];
+ return res;
}
/*
--
2.11.0
More information about the dev
mailing list