From b920d4d21bf2cd1c9b81c3b963323adb4a758dc9 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 19 May 2020 10:35:40 +0930 Subject: [PATCH] wire: make fromwire_fail return non-const, use it more It returns NULL, so you can simply `return fromwire_fail(...)` if you want to return NULL in this case. Use that more. Signed-off-by: Rusty Russell --- bitcoin/test/run-bitcoin_block_from_hex.c | 2 +- bitcoin/test/run-tx-encode.c | 2 +- common/test/run-amount.c | 2 +- common/test/run-bigsize.c | 2 +- common/test/run-cryptomsg.c | 2 +- common/test/run-derive_basepoints.c | 2 +- common/test/run-features.c | 2 +- common/test/run-funding_tx.c | 2 +- common/test/run-ip_port_parsing.c | 2 +- common/test/run-json_remove.c | 2 +- common/test/run-key_derive.c | 2 +- common/test/run-lock.c | 2 +- common/test/run-softref.c | 2 +- connectd/test/run-initiator-success.c | 2 +- connectd/test/run-responder-success.c | 2 +- lightningd/gossip_msg.c | 9 +++------ onchaind/test/run-grind_feerate-bug.c | 2 +- onchaind/test/run-grind_feerate.c | 2 +- wire/fromwire.c | 12 +++++------- wire/wire.h | 2 +- 20 files changed, 26 insertions(+), 31 deletions(-) diff --git a/bitcoin/test/run-bitcoin_block_from_hex.c b/bitcoin/test/run-bitcoin_block_from_hex.c index 7a88a423e..c1f9aeffd 100644 --- a/bitcoin/test/run-bitcoin_block_from_hex.c +++ b/bitcoin/test/run-bitcoin_block_from_hex.c @@ -30,7 +30,7 @@ bool amount_sat_eq(struct amount_sat a UNNEEDED, struct amount_sat b UNNEEDED) struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_amount_sat called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_sha256 */ void fromwire_sha256(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, struct sha256 *sha256 UNNEEDED) diff --git a/bitcoin/test/run-tx-encode.c b/bitcoin/test/run-tx-encode.c index 7336c11cc..59a4bd1c2 100644 --- a/bitcoin/test/run-tx-encode.c +++ b/bitcoin/test/run-tx-encode.c @@ -31,7 +31,7 @@ bool amount_sat_eq(struct amount_sat a UNNEEDED, struct amount_sat b UNNEEDED) struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_amount_sat called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_sha256 */ void fromwire_sha256(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, struct sha256 *sha256 UNNEEDED) diff --git a/common/test/run-amount.c b/common/test/run-amount.c index 13b8fcbcf..aa2b5454b 100644 --- a/common/test/run-amount.c +++ b/common/test/run-amount.c @@ -11,7 +11,7 @@ const u8 *fromwire(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, void *copy bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-bigsize.c b/common/test/run-bigsize.c index 8129cee1a..b2c8757d7 100644 --- a/common/test/run-bigsize.c +++ b/common/test/run-bigsize.c @@ -42,7 +42,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-cryptomsg.c b/common/test/run-cryptomsg.c index a3446d91e..aa13a72c4 100644 --- a/common/test/run-cryptomsg.c +++ b/common/test/run-cryptomsg.c @@ -37,7 +37,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-derive_basepoints.c b/common/test/run-derive_basepoints.c index 83793bfca..13f8c5a7e 100644 --- a/common/test/run-derive_basepoints.c +++ b/common/test/run-derive_basepoints.c @@ -38,7 +38,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-features.c b/common/test/run-features.c index 5e0b39f70..8e576a3c0 100644 --- a/common/test/run-features.c +++ b/common/test/run-features.c @@ -37,7 +37,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-funding_tx.c b/common/test/run-funding_tx.c index b826cbd6d..942cbd088 100644 --- a/common/test/run-funding_tx.c +++ b/common/test/run-funding_tx.c @@ -26,7 +26,7 @@ const u8 *fromwire(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, void *copy bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_node_id */ void fromwire_node_id(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, struct node_id *id UNNEEDED) diff --git a/common/test/run-ip_port_parsing.c b/common/test/run-ip_port_parsing.c index 3962ead86..20b91c2ea 100644 --- a/common/test/run-ip_port_parsing.c +++ b/common/test/run-ip_port_parsing.c @@ -36,7 +36,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-json_remove.c b/common/test/run-json_remove.c index fea1a4cda..18a422363 100644 --- a/common/test/run-json_remove.c +++ b/common/test/run-json_remove.c @@ -34,7 +34,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-key_derive.c b/common/test/run-key_derive.c index 79d9abd6a..940cb7e38 100644 --- a/common/test/run-key_derive.c +++ b/common/test/run-key_derive.c @@ -39,7 +39,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-lock.c b/common/test/run-lock.c index f676d621b..4dedc1c0d 100644 --- a/common/test/run-lock.c +++ b/common/test/run-lock.c @@ -38,7 +38,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/common/test/run-softref.c b/common/test/run-softref.c index 81f89596e..2168b8111 100644 --- a/common/test/run-softref.c +++ b/common/test/run-softref.c @@ -35,7 +35,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/connectd/test/run-initiator-success.c b/connectd/test/run-initiator-success.c index 719949ecf..48ff26f13 100644 --- a/connectd/test/run-initiator-success.c +++ b/connectd/test/run-initiator-success.c @@ -41,7 +41,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/connectd/test/run-responder-success.c b/connectd/test/run-responder-success.c index b0ef207bc..72ecb4fef 100644 --- a/connectd/test/run-responder-success.c +++ b/connectd/test/run-responder-success.c @@ -41,7 +41,7 @@ struct amount_sat fromwire_amount_sat(const u8 **cursor UNNEEDED, size_t *max UN bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_secp256k1_ecdsa_signature */ void fromwire_secp256k1_ecdsa_signature(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, diff --git a/lightningd/gossip_msg.c b/lightningd/gossip_msg.c index 834236dfc..0628ce8b5 100644 --- a/lightningd/gossip_msg.c +++ b/lightningd/gossip_msg.c @@ -28,10 +28,8 @@ struct gossip_getnodes_entry *fromwire_gossip_getnodes_entry(const tal_t *ctx, entry->addresses = tal_arr(entry, struct wireaddr, numaddresses); for (i=0; iaddresses[i])) { - fromwire_fail(pptr, max); - return NULL; - } + if (!fromwire_wireaddr(pptr, max, &entry->addresses[i])) + return fromwire_fail(pptr, max); } fromwire(pptr, max, entry->alias, ARRAY_SIZE(entry->alias)); fromwire(pptr, max, entry->color, ARRAY_SIZE(entry->color)); @@ -210,8 +208,7 @@ struct exclude_entry *fromwire_exclude_entry(const tal_t *ctx, fromwire_node_id(pptr, max, &entry->u.node_id); return entry; default: - fromwire_fail(pptr, max); - return NULL; + return fromwire_fail(pptr, max); } } diff --git a/onchaind/test/run-grind_feerate-bug.c b/onchaind/test/run-grind_feerate-bug.c index 93c0f5f79..c411f8d73 100644 --- a/onchaind/test/run-grind_feerate-bug.c +++ b/onchaind/test/run-grind_feerate-bug.c @@ -35,7 +35,7 @@ const u8 *fromwire(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, void *copy bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_hsm_get_per_commitment_point_reply */ bool fromwire_hsm_get_per_commitment_point_reply(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct pubkey *per_commitment_point UNNEEDED, struct secret **old_commitment_secret UNNEEDED) diff --git a/onchaind/test/run-grind_feerate.c b/onchaind/test/run-grind_feerate.c index 770e61438..9eead4736 100644 --- a/onchaind/test/run-grind_feerate.c +++ b/onchaind/test/run-grind_feerate.c @@ -36,7 +36,7 @@ const u8 *fromwire(const u8 **cursor UNNEEDED, size_t *max UNNEEDED, void *copy bool fromwire_bool(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_bool called!\n"); abort(); } /* Generated stub for fromwire_fail */ -const void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) +void *fromwire_fail(const u8 **cursor UNNEEDED, size_t *max UNNEEDED) { fprintf(stderr, "fromwire_fail called!\n"); abort(); } /* Generated stub for fromwire_hsm_get_per_commitment_point_reply */ bool fromwire_hsm_get_per_commitment_point_reply(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct pubkey *per_commitment_point UNNEEDED, struct secret **old_commitment_secret UNNEEDED) diff --git a/wire/fromwire.c b/wire/fromwire.c index a001339b1..17f373623 100644 --- a/wire/fromwire.c +++ b/wire/fromwire.c @@ -16,7 +16,7 @@ extern const struct chainparams *chainparams; /* Sets *cursor to NULL and returns NULL when extraction fails. */ -const void *fromwire_fail(const u8 **cursor, size_t *max) +void *fromwire_fail(const u8 **cursor, size_t *max) { *cursor = NULL; *max = 0; @@ -211,10 +211,9 @@ u8 *fromwire_tal_arrn(const tal_t *ctx, const u8 **cursor, size_t *max, size_t num) { u8 *arr; - if (num > *max) { - fromwire_fail(cursor, max); - return NULL; - } + if (num > *max) + return fromwire_fail(cursor, max); + arr = tal_arr(ctx, u8, num); fromwire_u8_array(cursor, max, arr, num); return arr; @@ -242,8 +241,7 @@ char *fromwire_wirestring(const tal_t *ctx, const u8 **cursor, size_t *max) if ((*cursor)[i] < ' ') break; } - fromwire_fail(cursor, max); - return NULL; + return fromwire_fail(cursor, max); } void fromwire_siphash_seed(const u8 **cursor, size_t *max, diff --git a/wire/wire.h b/wire/wire.h index eb6ffd4e0..bddbb5637 100644 --- a/wire/wire.h +++ b/wire/wire.h @@ -16,7 +16,7 @@ typedef char wirestring; /* Read the type; returns -1 if not long enough. cursor is a tal ptr. */ int fromwire_peektype(const u8 *cursor); -const void *fromwire_fail(const u8 **cursor, size_t *max); +void *fromwire_fail(const u8 **cursor, size_t *max); void towire(u8 **pptr, const void *data, size_t len); void towire_secp256k1_ecdsa_signature(u8 **pptr,