Skip to content

Commit

Permalink
test: fix division by zero
Browse files Browse the repository at this point in the history
[ upstream commit 07b3c7d ]

Variable i is used as a denominator which may be zero, and
this may result in segmentation fault.

This patch fixed it.

Fixes: 948bc3d ("test: add reciprocal based division")

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
  • Loading branch information
hushenggitcount authored and cpaelzer committed Jun 10, 2021
1 parent 84c4822 commit cf4cc7e
Showing 1 changed file with 24 additions and 17 deletions.
41 changes: 24 additions & 17 deletions app/test/test_reciprocal_division_perf.c
Expand Up @@ -71,10 +71,12 @@ test_reciprocal_division_perf(void)
tot_cyc_n);
printf("Total number of cycles reciprocal division : %"PRIu64"\n",
tot_cyc_r);
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);
if (i != 0) {
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);
}

tot_cyc_n = 0;
tot_cyc_r = 0;
Expand Down Expand Up @@ -111,11 +113,12 @@ test_reciprocal_division_perf(void)
tot_cyc_n);
printf("Total number of cycles reciprocal division : %"PRIu64"\n",
tot_cyc_r);
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);

if (i != 0) {
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);
}
tot_cyc_n = 0;
tot_cyc_r = 0;

Expand Down Expand Up @@ -152,10 +155,12 @@ test_reciprocal_division_perf(void)
tot_cyc_n);
printf("Total number of cycles reciprocal division : %"PRIu64"\n",
tot_cyc_r);
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);
if (i != 0) {
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n\n",
((double)tot_cyc_r)/i);
}

tot_cyc_n = 0;
tot_cyc_r = 0;
Expand Down Expand Up @@ -190,10 +195,12 @@ test_reciprocal_division_perf(void)
tot_cyc_n);
printf("Total number of cycles reciprocal division : %"PRIu64"\n",
tot_cyc_r);
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n",
((double)tot_cyc_r)/i);
if (i != 0) {
printf("Cycles per division(normal) : %3.2f\n",
((double)tot_cyc_n)/i);
printf("Cycles per division(reciprocal) : %3.2f\n",
((double)tot_cyc_r)/i);
}

return result;
}
Expand Down

0 comments on commit cf4cc7e

Please sign in to comment.