> -----Original Message----- > From: dev [mailto:[email protected]] On Behalf Of Slawomir > Mrozowicz > Sent: Wednesday, September 20, 2017 10:21 AM > To: Mcnamara, John <[email protected]> > Cc: [email protected]; Mrozowicz, SlawomirX > <[email protected]>; [email protected]; [email protected] > Subject: [dpdk-dev] [PATCH] examples/performance-thread: fix out-of- > bounds read > > 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: [email protected] > Cc: [email protected] > > Signed-off-by: Slawomir Mrozowicz <[email protected]> > --- > 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
Acked-by: Michal Jastrzebski <[email protected]>

