examples/exception_path: fix shift operation in lcore setup
authorDaniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Fri, 15 Apr 2016 15:29:40 +0000 (17:29 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 27 Apr 2016 15:41:46 +0000 (17:41 +0200)
CID: #30688
The operaton may have an undefined behavior or yield to an unexpected result.

In setup_port_lcore_affinities: A bit shift operation has a shift amount
which is too large or has a negative value.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
examples/exception_path/main.c

index bec9804..e5eedcc 100644 (file)
@@ -350,8 +350,7 @@ setup_port_lcore_affinities(void)
                        }
 
                        port_ids[i] = rx_port++;
-               }
-               else if (output_cores_mask & (1ULL << i)) {
+               } else if (output_cores_mask & (1ULL << (i & 0x3f))) {
                        /* Skip ports that are not enabled */
                        while ((ports_mask & (1 << tx_port)) == 0) {
                                tx_port++;