gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-exchange] branch master updated: check more return v


From: gnunet
Subject: [GNUnet-SVN] [taler-exchange] branch master updated: check more return values
Date: Mon, 03 Jun 2019 10:44:59 +0200

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 c241694c check more return values
c241694c is described below

commit c241694ccb6de36971a27f144433521f30f92fa3
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Jun 3 10:44:57 2019 +0200

    check more return values
---
 src/bank-lib/fakebank_history.c                    |   5 +-
 src/benchmark/taler-exchange-benchmark.c           |  18 +-
 src/exchange/taler-exchange-aggregator.c           |  11 +-
 src/exchange/taler-exchange-httpd_refresh_reveal.c |   7 +-
 src/exchange/taler-exchange-httpd_test.c           |  11 +-
 src/lib/exchange_api_handle.c                      | 240 +++++++++++++--------
 6 files changed, 183 insertions(+), 109 deletions(-)

diff --git a/src/bank-lib/fakebank_history.c b/src/bank-lib/fakebank_history.c
index a3553b65..4cd0dc4c 100644
--- a/src/bank-lib/fakebank_history.c
+++ b/src/bank-lib/fakebank_history.c
@@ -227,8 +227,9 @@ TFH_build_history_response (struct MHD_Connection 
*connection,
 
   while (NULL != history_element)
   {
-    json_array_append_new (history,
-                           history_element->element);
+    GNUNET_assert (0 ==
+                   json_array_append_new (history,
+                                          history_element->element));
     history_element = history_element->next;
     if (NULL != history_element)
       GNUNET_free_non_null (history_element->prev);
diff --git a/src/benchmark/taler-exchange-benchmark.c 
b/src/benchmark/taler-exchange-benchmark.c
index 56928351..836e1cfc 100644
--- a/src/benchmark/taler-exchange-benchmark.c
+++ b/src/benchmark/taler-exchange-benchmark.c
@@ -223,7 +223,7 @@ pick_exchange_account_cb (void *cls,
                         strlen ("account-")))
   {
     const char **s = cls;
-    
+
     *s = section;
   }
 }
@@ -376,12 +376,14 @@ run (void *cls,
   GNUNET_asprintf (&withdraw_fee_str,
                    "%s:0.1",
                    currency);
-  TALER_string_to_amount (withdraw_fee_str,
-                          &withdraw_fee);
+  GNUNET_assert (GNUNET_OK ==
+                 TALER_string_to_amount (withdraw_fee_str,
+                                         &withdraw_fee));
   for (unsigned int i = 0; i < howmany_coins; i++)
-    TALER_amount_add (&total_reserve_amount,
-                      &total_reserve_amount,
-                      &withdraw_fee);
+    GNUNET_assert (GNUNET_OK ==
+                   TALER_amount_add (&total_reserve_amount,
+                                     &total_reserve_amount,
+                                     &withdraw_fee));
   for (unsigned int j = 0; j < howmany_reserves; j++)
   {
     char *create_reserve_label;
@@ -690,7 +692,7 @@ parallel_benchmark (TALER_TESTING_Main main_cb,
     GNUNET_OS_process_wait (exchanged);
     GNUNET_OS_process_destroy (exchanged);
     if (NULL != wirewatch)
-    { 
+    {
       GNUNET_OS_process_kill (wirewatch,
                               SIGTERM);
       GNUNET_OS_process_wait (wirewatch);
@@ -968,7 +970,7 @@ main (int argc,
                   _("Malformed payto:// URL `%s' in configuration\n"),
                   exchange_payto_url);
       GNUNET_free (exchange_payto_url);
-      return BAD_CONFIG_FILE;      
+      return BAD_CONFIG_FILE;
     }
     GNUNET_free (exchange_payto_url);
   }
diff --git a/src/exchange/taler-exchange-aggregator.c 
b/src/exchange/taler-exchange-aggregator.c
index 299b892f..fda0ad50 100644
--- a/src/exchange/taler-exchange-aggregator.c
+++ b/src/exchange/taler-exchange-aggregator.c
@@ -704,8 +704,15 @@ deposit_cb (void *cls,
     GNUNET_break (0);
     return GNUNET_DB_STATUS_HARD_ERROR;
   }
-  TALER_JSON_merchant_wire_signature_hash (wire,
-                                           &au->h_wire);
+  if (GNUNET_OK !=
+      TALER_JSON_merchant_wire_signature_hash (wire,
+                                               &au->h_wire))
+  {
+    GNUNET_break (0);
+    json_decref (au->wire);
+    au->wire = NULL;
+    return GNUNET_DB_STATUS_HARD_ERROR;
+  }
   GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_NONCE,
                               &au->wtid,
                               sizeof (au->wtid));
diff --git a/src/exchange/taler-exchange-httpd_refresh_reveal.c 
b/src/exchange/taler-exchange-httpd_refresh_reveal.c
index 25de5f1f..0aee1982 100644
--- a/src/exchange/taler-exchange-httpd_refresh_reveal.c
+++ b/src/exchange/taler-exchange-httpd_refresh_reveal.c
@@ -366,9 +366,10 @@ refresh_reveal_transaction (void *cls,
           TALER_planchet_setup_refresh (&ts,
                                         j,
                                         &ps);
-          TALER_planchet_prepare (rcd->dk,
-                                  &ps,
-                                  &pd);
+          GNUNET_assert (GNUNET_OK ==
+                         TALER_planchet_prepare (rcd->dk,
+                                                 &ps,
+                                                 &pd));
           rcd->coin_ev = pd.coin_ev;
           rcd->coin_ev_size = pd.coin_ev_size;
         }
diff --git a/src/exchange/taler-exchange-httpd_test.c 
b/src/exchange/taler-exchange-httpd_test.c
index 731da36c..73ce0e55 100644
--- a/src/exchange/taler-exchange-httpd_test.c
+++ b/src/exchange/taler-exchange-httpd_test.c
@@ -226,11 +226,12 @@ TEH_TEST_handler_test_hkdf (struct TEH_RequestHandler *rh,
   json_decref (json);
   if (GNUNET_YES != res)
     return (GNUNET_NO == res) ? MHD_YES : MHD_NO;
-  GNUNET_CRYPTO_kdf (&hc, sizeof (hc),
-                    "salty", strlen ("salty"),
-                    in_ptr,
-                    in_ptr_size,
-                    NULL, 0);
+  GNUNET_assert (GNUNET_YES ==
+                 GNUNET_CRYPTO_kdf (&hc, sizeof (hc),
+                                    "salty", strlen ("salty"),
+                                    in_ptr,
+                                    in_ptr_size,
+                                    NULL, 0));
   GNUNET_JSON_parse_free (spec);
   json = GNUNET_JSON_from_data_auto (&hc);
   return TEH_RESPONSE_reply_json_pack (connection,
diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c
index 659301d4..ca4c13da 100644
--- a/src/lib/exchange_api_handle.c
+++ b/src/lib/exchange_api_handle.c
@@ -1593,6 +1593,11 @@ TALER_EXCHANGE_serialize_data
 
   now = GNUNET_TIME_absolute_get ();
   signkeys = json_array ();
+  if (NULL == signkeys)
+  {
+    GNUNET_break (0);
+    return NULL;
+  }
   for (unsigned int i=0;i<kd->num_sign_keys;i++)
   {
     const struct TALER_EXCHANGE_SigningPublicKey *sk = &kd->sign_keys[i];
@@ -1601,30 +1606,42 @@ TALER_EXCHANGE_serialize_data
     if (now.abs_value_us > sk->valid_until.abs_value_us)
       continue; /* skip keys that have expired */
     signkey = json_pack ("{s:o, s:o, s:o, s:o, s:o}",
-                        "key",
-                        GNUNET_JSON_from_data_auto
-                           (&sk->key),
-                        "master_sig",
-                        GNUNET_JSON_from_data_auto
-                           (&sk->master_sig),
-                        "stamp_start",
-                        GNUNET_JSON_from_time_abs
-                           (sk->valid_from),
-                        "stamp_expire",
-                        GNUNET_JSON_from_time_abs
-                           (sk->valid_until),
-                        "stamp_end",
-                        GNUNET_JSON_from_time_abs
-                           (sk->valid_legal));
+                         "key",
+                         GNUNET_JSON_from_data_auto
+                         (&sk->key),
+                         "master_sig",
+                         GNUNET_JSON_from_data_auto
+                         (&sk->master_sig),
+                         "stamp_start",
+                         GNUNET_JSON_from_time_abs
+                         (sk->valid_from),
+                         "stamp_expire",
+                         GNUNET_JSON_from_time_abs
+                         (sk->valid_until),
+                         "stamp_end",
+                         GNUNET_JSON_from_time_abs
+                         (sk->valid_legal));
     if (NULL == signkey)
     {
       GNUNET_break (0);
       continue;
     }
-    json_array_append_new (signkeys,
-                          signkey);
+    if (0 != json_array_append_new (signkeys,
+                                    signkey))
+    {
+      GNUNET_break (0);
+      json_decref (signkey);
+      json_decref (signkeys);
+      return NULL;
+    }
   }
   denoms = json_array ();
+  if (NULL == denoms)
+  {
+    GNUNET_break (0);
+    json_decref (signkeys);
+    return NULL;
+  }
   for (unsigned int i=0;i<kd->num_denom_keys;i++)
   {
     const struct TALER_EXCHANGE_DenomPublicKey *dk = &kd->denom_keys[i];
@@ -1633,41 +1650,55 @@ TALER_EXCHANGE_serialize_data
     if (now.abs_value_us > dk->expire_deposit.abs_value_us)
       continue; /* skip keys that have expired */
     denom = json_pack ("{s:o, s:o, s:o, s:o, s:o "
-                      ",s:o, s:o, s:o, s:o, s:o "
-                      ",s:o}",
-                      "stamp_expire_deposit",
-                      GNUNET_JSON_from_time_abs (dk->expire_deposit),
-                      "stamp_expire_withdraw",
-                      GNUNET_JSON_from_time_abs (dk->withdraw_valid_until),
-                      "stamp_start",
-                      GNUNET_JSON_from_time_abs (dk->valid_from),
-                      "stamp_expire_legal",
-                      GNUNET_JSON_from_time_abs (dk->expire_legal),
-                      "value",
-                      TALER_JSON_from_amount (&dk->value),
-                      "fee_withdraw",
-                      /* #6 */
-                      TALER_JSON_from_amount (&dk->fee_withdraw),
-                      "fee_deposit",
-                      TALER_JSON_from_amount (&dk->fee_deposit),
-                      "fee_refresh",
-                      TALER_JSON_from_amount (&dk->fee_refresh),
-                      "fee_refund",
-                      TALER_JSON_from_amount (&dk->fee_refund),
-                      "master_sig",
-                      GNUNET_JSON_from_data_auto (&dk->master_sig),
-                      /* #10 */
-                      "denom_pub",
-                      GNUNET_JSON_from_rsa_public_key 
(dk->key.rsa_public_key));
+                       ",s:o, s:o, s:o, s:o, s:o "
+                       ",s:o}",
+                       "stamp_expire_deposit",
+                       GNUNET_JSON_from_time_abs (dk->expire_deposit),
+                       "stamp_expire_withdraw",
+                       GNUNET_JSON_from_time_abs (dk->withdraw_valid_until),
+                       "stamp_start",
+                       GNUNET_JSON_from_time_abs (dk->valid_from),
+                       "stamp_expire_legal",
+                       GNUNET_JSON_from_time_abs (dk->expire_legal),
+                       "value",
+                       TALER_JSON_from_amount (&dk->value),
+                       "fee_withdraw",
+                       /* #6 */
+                       TALER_JSON_from_amount (&dk->fee_withdraw),
+                       "fee_deposit",
+                       TALER_JSON_from_amount (&dk->fee_deposit),
+                       "fee_refresh",
+                       TALER_JSON_from_amount (&dk->fee_refresh),
+                       "fee_refund",
+                       TALER_JSON_from_amount (&dk->fee_refund),
+                       "master_sig",
+                       GNUNET_JSON_from_data_auto (&dk->master_sig),
+                       /* #10 */
+                       "denom_pub",
+                       GNUNET_JSON_from_rsa_public_key 
(dk->key.rsa_public_key));
     if (NULL == denom)
     {
       GNUNET_break (0);
       continue;
     }
-    json_array_append_new (denoms,
-                          denom);
+    if (0 == json_array_append_new (denoms,
+                                    denom))
+    {
+      GNUNET_break (0);
+      json_decref (denom);
+      json_decref (denoms);
+      json_decref (signkeys);
+      return NULL;
+    }
   }
   auditors = json_array ();
+  if (NULL == auditors)
+  {
+    GNUNET_break (0);
+    json_decref (denoms);
+    json_decref (signkeys);
+    return NULL;
+  }
   for (unsigned int i=0;i<kd->num_auditors;i++)
   {
     const struct TALER_EXCHANGE_AuditorInformation *ai = &kd->auditors[i];
@@ -1675,6 +1706,14 @@ TALER_EXCHANGE_serialize_data
     json_t *adenoms;
 
     adenoms = json_array ();
+    if (NULL == adenoms)
+    {
+      GNUNET_break (0);
+      json_decref (denoms);
+      json_decref (signkeys);
+      json_decref (auditors);
+      return NULL;
+    }
     for (unsigned int j=0;j<ai->num_denom_keys;j++)
     {
       const struct TALER_EXCHANGE_AuditorDenominationInfo *adi = 
&ai->denom_keys[j];
@@ -1682,69 +1721,92 @@ TALER_EXCHANGE_serialize_data
       json_t *k;
 
       if (now.abs_value_us > dk->expire_deposit.abs_value_us)
-       continue; /* skip auditor signatures for denomination keys that have 
expired */
+        continue; /* skip auditor signatures for denomination keys that have 
expired */
       GNUNET_assert (adi->denom_key_offset < kd->num_denom_keys);
       k = json_pack ("{s:o, s:o}",
-                    "denom_pub_h",
-                    GNUNET_JSON_from_data_auto (&dk->h_key),
-                    "auditor_sig",
-                    GNUNET_JSON_from_data_auto (&adi->auditor_sig));
+                     "denom_pub_h",
+                     GNUNET_JSON_from_data_auto (&dk->h_key),
+                     "auditor_sig",
+                     GNUNET_JSON_from_data_auto (&adi->auditor_sig));
       if (NULL == k)
       {
-       GNUNET_break (0);
-       continue;
+        GNUNET_break (0);
+        json_decref (adenoms);
+        json_decref (denoms);
+        json_decref (signkeys);
+        json_decref (auditors);
+        return NULL;
+      }
+      if (0 != json_array_append_new (adenoms,
+                                      k))
+      {
+        GNUNET_break (0);
+        json_decref (k);
+        json_decref (adenoms);
+        json_decref (denoms);
+        json_decref (signkeys);
+        json_decref (auditors);
+        return NULL;
       }
-      json_array_append_new (adenoms,
-                            k);
     }
 
     a = json_pack ("{s:o, s:s, s:o}",
-                  "auditor_pub",
-                  GNUNET_JSON_from_data_auto (&ai->auditor_pub),
-                  "auditor_url",
-                  ai->auditor_url,
-                  "denomination_keys",
-                  adenoms);
+                   "auditor_pub",
+                   GNUNET_JSON_from_data_auto (&ai->auditor_pub),
+                   "auditor_url",
+                   ai->auditor_url,
+                   "denomination_keys",
+                   adenoms);
     if (NULL == a)
     {
-      GNUNET_break (0);
-      continue;
+      json_decref (adenoms);
+      json_decref (denoms);
+      json_decref (signkeys);
+      json_decref (auditors);
+      return NULL;
+    }
+    if (0 != json_array_append_new (auditors,
+                                    a))
+    {
+      json_decref (a);
+      json_decref (denoms);
+      json_decref (signkeys);
+      json_decref (auditors);
+      return NULL;
     }
-    json_array_append_new (auditors,
-                          a);
   }
   keys = json_pack ("{s:s, s:o, s:o, s:o, s:o"
-                   ",s:o, s:o}",
-                   /* 1 */
-                   "version",
-                   kd->version,
-                   "master_public_key",
-                   GNUNET_JSON_from_data_auto (&kd->master_pub),
-                   "reserve_closing_delay",
-                   GNUNET_JSON_from_time_rel (kd->reserve_closing_delay),
-                   "list_issue_date",
-                   GNUNET_JSON_from_time_abs (kd->list_issue_date),
-                   "signkeys",
-                   signkeys,
-                   /* #6 */
-                   "denoms",
-                   denoms,
-                   "auditors",
-                   auditors);
+                    ",s:o, s:o}",
+                    /* 1 */
+                    "version",
+                    kd->version,
+                    "master_public_key",
+                    GNUNET_JSON_from_data_auto (&kd->master_pub),
+                    "reserve_closing_delay",
+                    GNUNET_JSON_from_time_rel (kd->reserve_closing_delay),
+                    "list_issue_date",
+                    GNUNET_JSON_from_time_abs (kd->list_issue_date),
+                    "signkeys",
+                    signkeys,
+                    /* #6 */
+                    "denoms",
+                    denoms,
+                    "auditors",
+                    auditors);
   if (NULL == keys)
   {
     GNUNET_break (0);
     return NULL;
   }
   return json_pack ("{s:I, s:o, s:s, s:o}",
-                   "version",
-                   (json_int_t) TALER_SERIALIZATION_FORMAT_VERSION,
-                   "expire",
-                   GNUNET_JSON_from_time_abs (exchange->key_data_expiration),
-                   "url",
-                   exchange->url,
-                   "keys",
-                   keys);
+                    "version",
+                    (json_int_t) TALER_SERIALIZATION_FORMAT_VERSION,
+                    "expire",
+                    GNUNET_JSON_from_time_abs (exchange->key_data_expiration),
+                    "url",
+                    exchange->url,
+                    "keys",
+                    keys);
 }
 
 

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



reply via email to

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