mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-06 07:34:21 +01:00
Update ccan/structeq.
structeq() is too dangerous: if a structure has padding, it can fail silently. The new ccan/structeq instead provides a macro to define foo_eq(), which does the right thing in case of padding (which none of our structures currently have anyway). Upgrade ccan, and use it everywhere. Except run-peer-wire.c, which is only testing code and can use raw memcmp(): valgrind will tell us if padding exists. Interestingly, we still declared short_channel_id_eq, even though we didn't define it any more! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Christian Decker
parent
4a1ca0fb99
commit
fed5a117e7
@@ -29,7 +29,6 @@
|
||||
#include <bitcoin/script.h>
|
||||
#include <ccan/crypto/siphash24/siphash24.h>
|
||||
#include <ccan/ptrint/ptrint.h>
|
||||
#include <ccan/structeq/structeq.h>
|
||||
#include <common/pseudorand.h>
|
||||
#include <common/timeout.h>
|
||||
#include <lightningd/bitcoind.h>
|
||||
@@ -88,7 +87,7 @@ size_t txo_hash(const struct txwatch_output *out)
|
||||
|
||||
bool txowatch_eq(const struct txowatch *w, const struct txwatch_output *out)
|
||||
{
|
||||
return structeq(&w->out.txid, &out->txid)
|
||||
return bitcoin_txid_eq(&w->out.txid, &out->txid)
|
||||
&& w->out.index == out->index;
|
||||
}
|
||||
|
||||
@@ -110,7 +109,7 @@ size_t txid_hash(const struct bitcoin_txid *txid)
|
||||
|
||||
bool txwatch_eq(const struct txwatch *w, const struct bitcoin_txid *txid)
|
||||
{
|
||||
return structeq(&w->txid, txid);
|
||||
return bitcoin_txid_eq(&w->txid, txid);
|
||||
}
|
||||
|
||||
static void destroy_txwatch(struct txwatch *w)
|
||||
|
||||
Reference in New Issue
Block a user