[dpdk-dev] app/test: fix memory_autotest integer overflow/wraparound
Commit Message
memory_autotest loops infinitely when at least one the memsegs
is bigger than 4GB.
The issue is the result of an integer overflow/wraparound of
the offset variable.
Fix it by using the correct type (size_t).
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
---
app/test/test_memory.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Comments
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Sergio Gonzalez
> Monroy
> Sent: Tuesday, November 17, 2015 3:39 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] app/test: fix memory_autotest integer
> overflow/wraparound
>
> memory_autotest loops infinitely when at least one the memsegs
> is bigger than 4GB.
>
> The issue is the result of an integer overflow/wraparound of
> the offset variable.
>
> Fix it by using the correct type (size_t).
>
> Signed-off-by: Sergio Gonzalez Monroy
> <sergio.gonzalez.monroy@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> > memory_autotest loops infinitely when at least one the memsegs
> > is bigger than 4GB.
> >
> > The issue is the result of an integer overflow/wraparound of
> > the offset variable.
> >
> > Fix it by using the correct type (size_t).
> >
> > Signed-off-by: Sergio Gonzalez Monroy
> > <sergio.gonzalez.monroy@intel.com>
>
> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Applied, thanks
@@ -55,7 +55,8 @@ static int
test_memory(void)
{
uint64_t s;
- unsigned i, j;
+ unsigned i;
+ size_t j;
const struct rte_memseg *mem;
/*