Browse Source

common/utils.c: Correctly handle NULL `take`n pointer in `tal_dup_talarr`.

Fixes: #3757

Reported-by: @sumBTC

Changelog-None
paymod-01
ZmnSCPxj jxPCSnmZ 5 years ago
committed by Rusty Russell
parent
commit
c100de6d93
  1. 7
      common/utils.c
  2. 1
      tests/test_pay.py

7
common/utils.c

@ -142,9 +142,12 @@ void tal_arr_remove_(void *p, size_t elemsize, size_t n)
tal_resize((char **)p, len - elemsize);
}
void *tal_dup_talarr_(const tal_t *ctx, const tal_t *src, const char *label)
void *tal_dup_talarr_(const tal_t *ctx, const tal_t *src TAKES, const char *label)
{
if (!src)
if (!src) {
/* Correctly handle TAKES on a NULL `src`. */
(void) taken(src);
return NULL;
}
return tal_dup_(ctx, src, 1, tal_bytelen(src), 0, label);
}

1
tests/test_pay.py

@ -3019,7 +3019,6 @@ def test_keysend(node_factory):
assert(inv['msatoshi_received'] >= amt)
@pytest.mark.xfail(strict=True)
def test_invalid_onion_channel_update(node_factory):
'''
Some onion failures "should" send a `channel_update`.

Loading…
Cancel
Save