This patch fixes the division by 0,
which occurs if the number of routes is less than 10.
Can be triggered by passing -n argument with value < 10:

./dpdk-test-fib -- -n 9
...
Floating point exception (core dumped)

Fixes: 103809d032cd ("app/test-fib: add test application for FIB")
Cc: sta...@dpdk.org

Signed-off-by: Vladimir Medvedkin <vladimir.medved...@intel.com>
---
 app/test-fib/main.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/app/test-fib/main.c b/app/test-fib/main.c
index ecd420116a..067c5284f9 100644
--- a/app/test-fib/main.c
+++ b/app/test-fib/main.c
@@ -711,6 +711,10 @@ parse_opts(int argc, char **argv)
                                print_usage();
                                rte_exit(-EINVAL, "Invalid option -n\n");
                        }
+
+                       if (config.nb_routes < config.print_fract)
+                               config.print_fract = config.nb_routes;
+
                        break;
                case 'd':
                        distrib_string = optarg;
@@ -1242,6 +1246,10 @@ main(int argc, char **argv)
                config.nb_routes = 0;
                while (fgets(line, sizeof(line), fr) != NULL)
                        config.nb_routes++;
+
+               if (config.nb_routes < config.print_fract)
+                       config.print_fract = config.nb_routes;
+
                rewind(fr);
        }
 
-- 
2.25.1

Reply via email to