aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-06-11 13:54:11 +0200
committerChristian Grothoff <christian@grothoff.org>2016-06-11 13:54:11 +0200
commit7dc075ae283f76669065c7357d6c8e4d39ae811e (patch)
tree861ce101e76da22fc6c3934c12880904c085e01e
parent5d28c019003981f702202b0ad83ce08177ccef61 (diff)
check return values of json_array_append
-rw-r--r--src/exchange-lib/exchange_api_refresh.c44
-rw-r--r--src/exchange/taler-exchange-httpd_keystate.c38
-rw-r--r--src/exchange/taler-exchange-httpd_responses.c89
3 files changed, 97 insertions, 74 deletions
diff --git a/src/exchange-lib/exchange_api_refresh.c b/src/exchange-lib/exchange_api_refresh.c
index 8331f5e78..e2e06a113 100644
--- a/src/exchange-lib/exchange_api_refresh.c
+++ b/src/exchange-lib/exchange_api_refresh.c
@@ -1317,8 +1317,9 @@ TALER_EXCHANGE_refresh_melt (struct TALER_EXCHANGE_Handle *exchange,
GNUNET_CRYPTO_ecdhe_key_get_public (&mc->transfer_priv[j].ecdhe_priv,
&transfer_pub.ecdhe_pub);
- json_array_append (transfer_pubs,
- GNUNET_JSON_from_data_auto (&transfer_pub));
+ GNUNET_assert (0 ==
+ json_array_append (transfer_pubs,
+ GNUNET_JSON_from_data_auto (&transfer_pub)));
}
/* now secret_encs */
@@ -1335,16 +1336,18 @@ TALER_EXCHANGE_refresh_melt (struct TALER_EXCHANGE_Handle *exchange,
TALER_transfer_encrypt (&md->link_secrets[j],
&trans_sec,
&els));
- json_array_append (secret_encs,
- GNUNET_JSON_from_data_auto (&els));
+ GNUNET_assert (0 ==
+ json_array_append (secret_encs,
+ GNUNET_JSON_from_data_auto (&els)));
}
/* now new_denoms */
for (i=0;i<md->num_fresh_coins;i++)
{
- json_array_append (new_denoms,
- GNUNET_JSON_from_rsa_public_key
- (md->fresh_pks[i].rsa_public_key));
+ GNUNET_assert (0 ==
+ json_array_append (new_denoms,
+ GNUNET_JSON_from_rsa_public_key
+ (md->fresh_pks[i].rsa_public_key)));
}
/* now link_encs */
@@ -1362,11 +1365,13 @@ TALER_EXCHANGE_refresh_melt (struct TALER_EXCHANGE_Handle *exchange,
TALER_refresh_encrypt (&rld,
&md->link_secrets[j],
&rle);
- json_array_append (tmp,
- GNUNET_JSON_from_data_auto (&rle));
+ GNUNET_assert (0 ==
+ json_array_append (tmp,
+ GNUNET_JSON_from_data_auto (&rle)));
}
- json_array_append (link_encs,
- tmp);
+ GNUNET_assert (0 ==
+ json_array_append (link_encs,
+ tmp));
}
/* now coin_evs */
@@ -1404,13 +1409,15 @@ TALER_EXCHANGE_refresh_melt (struct TALER_EXCHANGE_Handle *exchange,
json_decref (link_encs);
return NULL;
}
- json_array_append (tmp,
- GNUNET_JSON_from_data (coin_ev,
- coin_ev_size));
+ GNUNET_assert (0 ==
+ json_array_append (tmp,
+ GNUNET_JSON_from_data (coin_ev,
+ coin_ev_size)));
GNUNET_free (coin_ev);
}
- json_array_append (coin_evs,
- tmp);
+ GNUNET_assert (0 ==
+ json_array_append (coin_evs,
+ tmp));
}
/* finally, assemble main JSON request from constitutent arrays */
@@ -1788,8 +1795,9 @@ TALER_EXCHANGE_refresh_reveal (struct TALER_EXCHANGE_Handle *exchange,
noreval index! */
continue;
}
- json_array_append (transfer_privs,
- GNUNET_JSON_from_data_auto (&md->melted_coin.transfer_priv[j]));
+ GNUNET_assert (0 ==
+ json_array_append (transfer_privs,
+ GNUNET_JSON_from_data_auto (&md->melted_coin.transfer_priv[j])));
}
/* build main JSON request */
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c
index dc70fdba4..5366f9aaa 100644
--- a/src/exchange/taler-exchange-httpd_keystate.c
+++ b/src/exchange/taler-exchange-httpd_keystate.c
@@ -347,9 +347,10 @@ reload_keys_denom_iter (void *cls,
}
ctx->min_dk_expire = GNUNET_TIME_absolute_min (ctx->min_dk_expire,
expire_deposit);
- json_array_append_new (ctx->denom_keys_array,
- denom_key_issue_to_json (&dki->denom_pub,
- &dki->issue));
+ GNUNET_assert (0 ==
+ json_array_append_new (ctx->denom_keys_array,
+ denom_key_issue_to_json (&dki->denom_pub,
+ &dki->issue)));
return GNUNET_OK;
}
@@ -436,8 +437,9 @@ reload_keys_sign_iter (void *cls,
/* We use the most recent one, if it is valid now (not just in the near future) */
ctx->current_sign_key_issue = *ski;
}
- json_array_append_new (ctx->sign_keys_array,
- sign_key_issue_to_json (&ski->issue));
+ GNUNET_assert (0 ==
+ json_array_append_new (ctx->sign_keys_array,
+ sign_key_issue_to_json (&ski->issue)));
return GNUNET_OK;
}
@@ -465,12 +467,13 @@ auditor_to_json (const struct TALER_AuditorPublicKeyP *apub,
ja = json_array ();
for (i=0;i<dki_len;i++)
- json_array_append_new (ja,
- json_pack ("{s:o, s:o}",
- "denom_pub_h",
- GNUNET_JSON_from_data_auto (&dki[i]->denom_hash),
- "auditor_sig",
- GNUNET_JSON_from_data_auto (asigs[i])));
+ GNUNET_assert (0 ==
+ json_array_append_new (ja,
+ json_pack ("{s:o, s:o}",
+ "denom_pub_h",
+ GNUNET_JSON_from_data_auto (&dki[i]->denom_hash),
+ "auditor_sig",
+ GNUNET_JSON_from_data_auto (asigs[i]))));
return
json_pack ("{s:o, s:s, s:o}",
"denomination_keys", ja,
@@ -536,12 +539,13 @@ reload_auditor_iter (void *cls,
}
}
/* add auditor information to our /keys response */
- json_array_append_new (ctx->auditors_array,
- auditor_to_json (apub,
- auditor_url,
- keep,
- kept_asigs,
- kept_dkis));
+ GNUNET_assert (0 ==
+ json_array_append_new (ctx->auditors_array,
+ auditor_to_json (apub,
+ auditor_url,
+ keep,
+ kept_asigs,
+ kept_dkis)));
return GNUNET_OK;
}
diff --git a/src/exchange/taler-exchange-httpd_responses.c b/src/exchange/taler-exchange-httpd_responses.c
index 34aeec5da..1b3418dfb 100644
--- a/src/exchange/taler-exchange-httpd_responses.c
+++ b/src/exchange/taler-exchange-httpd_responses.c
@@ -526,12 +526,13 @@ compile_transaction_history (const struct TALER_EXCHANGEDB_TransactionList *tl)
default:
GNUNET_assert (0);
}
- json_array_append_new (history,
- json_pack ("{s:s, s:o, s:o, s:o}",
- "type", type,
- "amount", TALER_JSON_from_amount (&value),
- "signature", GNUNET_JSON_from_data_auto (sig),
- "details", details));
+ GNUNET_assert (0 ==
+ json_array_append_new (history,
+ json_pack ("{s:s, s:o, s:o, s:o}",
+ "type", type,
+ "amount", TALER_JSON_from_amount (&value),
+ "signature", GNUNET_JSON_from_data_auto (sig),
+ "details", details)));
}
return history;
}
@@ -602,12 +603,13 @@ compile_reserve_history (const struct TALER_EXCHANGEDB_ReserveHistory *rh,
return NULL;
}
ret = 1;
- json_array_append_new (json_history,
- json_pack ("{s:s, s:O, s:O, s:o}",
- "type", "DEPOSIT",
- "sender_account_details", pos->details.bank->sender_account_details,
- "transfer_details", pos->details.bank->transfer_details,
- "amount", TALER_JSON_from_amount (&pos->details.bank->amount)));
+ GNUNET_assert (0 ==
+ json_array_append_new (json_history,
+ json_pack ("{s:s, s:O, s:O, s:o}",
+ "type", "DEPOSIT",
+ "sender_account_details", pos->details.bank->sender_account_details,
+ "transfer_details", pos->details.bank->transfer_details,
+ "amount", TALER_JSON_from_amount (&pos->details.bank->amount))));
break;
case TALER_EXCHANGEDB_RO_WITHDRAW_COIN:
break;
@@ -649,12 +651,13 @@ compile_reserve_history (const struct TALER_EXCHANGEDB_ReserveHistory *rh,
GNUNET_CRYPTO_rsa_public_key_hash (pos->details.withdraw->denom_pub.rsa_public_key,
&wr.h_denomination_pub);
wr.h_coin_envelope = pos->details.withdraw->h_coin_envelope;
- json_array_append_new (json_history,
- json_pack ("{s:s, s:o, s:o, s:o}",
- "type", "WITHDRAW",
- "signature", GNUNET_JSON_from_data_auto (&pos->details.withdraw->reserve_sig),
- "details", GNUNET_JSON_from_data_auto (&wr),
- "amount", TALER_JSON_from_amount (&value)));
+ GNUNET_assert (0 ==
+ json_array_append_new (json_history,
+ json_pack ("{s:s, s:o, s:o, s:o}",
+ "type", "WITHDRAW",
+ "signature", GNUNET_JSON_from_data_auto (&pos->details.withdraw->reserve_sig),
+ "details", GNUNET_JSON_from_data_auto (&wr),
+ "amount", TALER_JSON_from_amount (&value))));
break;
}
}
@@ -947,8 +950,9 @@ TMH_RESPONSE_reply_refresh_reveal_success (struct MHD_Connection *connection,
json_object_set_new (obj,
"ev_sig",
GNUNET_JSON_from_rsa_signature (sigs[newcoin_index].rsa_signature));
- json_array_append_new (list,
- obj);
+ GNUNET_assert (0 ==
+ json_array_append_new (list,
+ obj));
}
root = json_object ();
json_object_set_new (root,
@@ -1012,8 +1016,9 @@ TMH_RESPONSE_reply_refresh_reveal_missmatch (struct MHD_Connection *connection,
const struct TALER_DenominationPublicKey *pk;
pk = &mc->denom_pubs[i];
- json_array_append_new (info_new,
- GNUNET_JSON_from_rsa_public_key (pk->rsa_public_key));
+ GNUNET_assert (0 ==
+ json_array_append_new (info_new,
+ GNUNET_JSON_from_rsa_public_key (pk->rsa_public_key)));
}
info_commit = json_array ();
@@ -1043,11 +1048,13 @@ TMH_RESPONSE_reply_refresh_reveal_missmatch (struct MHD_Connection *connection,
"blinding_key_enc",
GNUNET_JSON_from_data_auto (&cc->refresh_link.blinding_key_enc));
- json_array_append_new (info_commit_k,
- cc_json);
+ GNUNET_assert (0 ==
+ json_array_append_new (info_commit_k,
+ cc_json));
}
- json_array_append_new (info_commit,
- info_commit_k);
+ GNUNET_assert (0 ==
+ json_array_append_new (info_commit,
+ info_commit_k));
info_link_k = json_object ();
cl = &mc->commit_links[k];
@@ -1057,8 +1064,9 @@ TMH_RESPONSE_reply_refresh_reveal_missmatch (struct MHD_Connection *connection,
json_object_set_new (info_link_k,
"shared_secret_enc",
GNUNET_JSON_from_data_auto (&cl->shared_secret_enc));
- json_array_append_new (info_links,
- info_link_k);
+ GNUNET_assert (0 ==
+ json_array_append_new (info_links,
+ info_link_k));
}
return TMH_RESPONSE_reply_json_pack (connection,
MHD_HTTP_CONFLICT,
@@ -1113,8 +1121,9 @@ TMH_RESPONSE_reply_refresh_link_success (struct MHD_Connection *connection,
json_object_set_new (obj,
"ev_sig",
GNUNET_JSON_from_rsa_signature (pos->ev_sig.rsa_signature));
- json_array_append_new (list,
- obj);
+ GNUNET_assert (0 ==
+ json_array_append_new (list,
+ obj));
}
root = json_object ();
json_object_set_new (root,
@@ -1126,8 +1135,9 @@ TMH_RESPONSE_reply_refresh_link_success (struct MHD_Connection *connection,
json_object_set_new (root,
"secret_enc",
GNUNET_JSON_from_data_auto (&sessions[i].shared_secret_enc));
- json_array_append_new (mlist,
- root);
+ GNUNET_assert (0 ==
+ json_array_append_new (mlist,
+ root));
}
res = TMH_RESPONSE_reply_json (connection,
mlist,
@@ -1267,13 +1277,14 @@ TMH_RESPONSE_reply_track_transfer_details (struct MHD_Connection *connection,
GNUNET_CRYPTO_hash_context_read (hash_context,
&dd,
sizeof (struct TALER_WireDepositDetailP));
- json_array_append (deposits,
- json_pack ("{s:o, s:I, s:o, s:o, s:o}",
- "H_contract", GNUNET_JSON_from_data_auto (&wdd_pos->h_contract),
- "transaction_id", (json_int_t) wdd_pos->transaction_id,
- "coin_pub", GNUNET_JSON_from_data_auto (&wdd_pos->coin_pub),
- "deposit_value", TALER_JSON_from_amount (&wdd_pos->deposit_value),
- "deposit_fee", TALER_JSON_from_amount (&wdd_pos->deposit_fee)));
+ GNUNET_assert (0 ==
+ json_array_append (deposits,
+ json_pack ("{s:o, s:I, s:o, s:o, s:o}",
+ "H_contract", GNUNET_JSON_from_data_auto (&wdd_pos->h_contract),
+ "transaction_id", (json_int_t) wdd_pos->transaction_id,
+ "coin_pub", GNUNET_JSON_from_data_auto (&wdd_pos->coin_pub),
+ "deposit_value", TALER_JSON_from_amount (&wdd_pos->deposit_value),
+ "deposit_fee", TALER_JSON_from_amount (&wdd_pos->deposit_fee))));
}
wdp.purpose.purpose = htonl (TALER_SIGNATURE_EXCHANGE_CONFIRM_WIRE_DEPOSIT);
wdp.purpose.size = htonl (sizeof (struct TALER_WireDepositDataPS));