summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--eccdata.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b6af7fea..aa3daeb3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2018-12-26 Niels Möller <nisse@lysator.liu.se>
+ * eccdata.c (ecc_pippenger_precompute): Check that table size is
+ at least 2. Intended to silence warning from the clang static
+ analyzer.
+
* configure.ac: Bump package version to 3.5.
(LIBNETTLE_MAJOR): Bump major number, now 7.
(LIBHOGWEED_MAJOR): Bump major number, now 5.
diff --git a/eccdata.c b/eccdata.c
index 51ecde35..8aa57e06 100644
--- a/eccdata.c
+++ b/eccdata.c
@@ -650,6 +650,12 @@ ecc_pippenger_precompute (struct ecc_curve *ecc, unsigned k, unsigned c)
unsigned M = ecc_table_size (ecc->bit_size, k, c);
unsigned i, j;
+ if (M < 2)
+ {
+ fprintf (stderr, "Invalid parameters, implies M = %u\n", M);
+ exit (EXIT_FAILURE);
+ }
+
if (M == ecc_table_size (ecc->bit_size, k-1, c))
fprintf(stderr,
"warn: Parameters k = %u, c = %d are suboptimal, could use smaller k\n",