aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-10 15:34:04 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-10 15:34:04 +0100
commit883c063f434cff70e427ae720fe8566b293a36f1 (patch)
tree793b7172ac6e39cf0ec60aa0d3df700f958c5df0 /src/lib
parentfc79dd233a124d7668012d61f0d040a49123eca8 (diff)
tolerate recoup information not being present
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/exchange_api_handle.c56
1 files changed, 29 insertions, 27 deletions
diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c
index 3ec3e30bf..42f4e8163 100644
--- a/src/lib/exchange_api_handle.c
+++ b/src/lib/exchange_api_handle.c
@@ -1045,35 +1045,37 @@ decode_keys_json (const json_t *resp_obj,
json_t *recoup_info;
unsigned int index;
- EXITIF (NULL == (recoup_array =
- json_object_get (resp_obj,
- "recoup")));
- EXITIF (JSON_ARRAY != json_typeof (recoup_array));
-
- json_array_foreach (recoup_array, index, recoup_info) {
- struct GNUNET_HashCode h_denom_pub;
- struct GNUNET_JSON_Specification spec[] = {
- GNUNET_JSON_spec_fixed_auto ("h_denom_pub",
- &h_denom_pub),
- GNUNET_JSON_spec_end ()
- };
-
- EXITIF (GNUNET_OK !=
- GNUNET_JSON_parse (recoup_info,
- spec,
- NULL, NULL));
- for (unsigned int j = 0;
- j<key_data->num_denom_keys;
- j++)
- {
- if (0 == GNUNET_memcmp (&h_denom_pub,
- &key_data->denom_keys[j].h_key))
+ if (NULL != (recoup_array =
+ json_object_get (resp_obj,
+ "recoup")))
+ {
+ EXITIF (JSON_ARRAY != json_typeof (recoup_array));
+
+ json_array_foreach (recoup_array, index, recoup_info) {
+ struct GNUNET_HashCode h_denom_pub;
+ struct GNUNET_JSON_Specification spec[] = {
+ GNUNET_JSON_spec_fixed_auto ("h_denom_pub",
+ &h_denom_pub),
+ GNUNET_JSON_spec_end ()
+ };
+
+ EXITIF (GNUNET_OK !=
+ GNUNET_JSON_parse (recoup_info,
+ spec,
+ NULL, NULL));
+ for (unsigned int j = 0;
+ j<key_data->num_denom_keys;
+ j++)
{
- key_data->denom_keys[j].revoked = GNUNET_YES;
- break;
+ if (0 == GNUNET_memcmp (&h_denom_pub,
+ &key_data->denom_keys[j].h_key))
+ {
+ key_data->denom_keys[j].revoked = GNUNET_YES;
+ break;
+ }
}
- }
- };
+ };
+ }
}
if (check_sig)