Sophie

Sophie

distrib > Mageia > 5 > x86_64 > by-pkgid > 19d2a03c99116ba92af735c1cd4670f3 > files > 2

nettle-3.0-3.2.mga5.src.rpm

From 544b4047de689519ab3e6ec55b776b95b3e264a9 Mon Sep 17 00:00:00 2001
From: Niels Möller <nisse@lysator.liu.se>
Date: Thu, 4 Aug 2016 10:22:26 +0200
Subject: [PATCH] Check for invalid keys, with even p, in dsa_sign.

---
 dsa-sign.c | 5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/dsa-sign.c b/dsa-sign.c
index 9d6bb18..b713743 100644
--- a/dsa-sign.c
+++ b/dsa-sign.c
@@ -56,6 +56,11 @@ dsa_sign(const struct dsa_params *params,
   mpz_t tmp;
   int res;
   
+  /* Check that p is odd, so that invalid keys don't result in a crash
+     inside mpz_powm_sec. */
+  if (mpz_even_p (params->p))
+    return 0;
+
   /* Select k, 0<k<q, randomly */
   mpz_init_set(tmp, params->q);
   mpz_sub_ui(tmp, tmp, 1);
--
libgit2 0.24.0