gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated: do not crash on bogus signature


From: gnunet
Subject: [taler-exchange] branch master updated: do not crash on bogus signature on denomination key
Date: Sat, 07 Dec 2019 17:48:41 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new d4d590bc do not crash on bogus signature on denomination key
d4d590bc is described below

commit d4d590bcdab735949ebbc27c7e568647ed442009
Author: Christian Grothoff <address@hidden>
AuthorDate: Sat Dec 7 17:48:39 2019 +0100

    do not crash on bogus signature on denomination key
---
 src/exchange/taler-exchange-httpd_keystate.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_keystate.c 
b/src/exchange/taler-exchange-httpd_keystate.c
index cf5cbe9a..828f4837 100644
--- a/src/exchange/taler-exchange-httpd_keystate.c
+++ b/src/exchange/taler-exchange-httpd_keystate.c
@@ -1601,6 +1601,7 @@ reload_public_denoms_cb (void *cls,
 {
   struct ResponseFactoryContext *rfc = cls;
   struct TALER_EXCHANGEDB_DenominationKeyIssueInformation dki;
+  int ret;
 
   if (rfc->now.abs_value_us > GNUNET_TIME_absolute_ntoh
         (issue->properties.expire_legal).abs_value_us)
@@ -1625,9 +1626,17 @@ reload_public_denoms_cb (void *cls,
   dki.denom_pub.rsa_public_key   = denom_pub->rsa_public_key;
   dki.issue = *issue;
   /* we can assert here as we checked for duplicates just above */
-  GNUNET_assert (GNUNET_OK ==
-                 store_in_map (rfc->key_state->denomkey_map,
-                               &dki /* makes a deep copy of dki */));
+  ret = store_in_map (rfc->key_state->denomkey_map,
+                      &dki /* makes a deep copy of dki */);
+  if (GNUNET_SYSERR == ret)
+  {
+    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Signature wrong on denomination key `%s' (skipping)!\n",
+                GNUNET_h2s (&issue->properties.denom_hash));
+    return;
+  }
+  GNUNET_assert (GNUNET_OK == ret);
 }
 
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]