Browse Source

fromwire: return NULL if array empty

libwally's API requires us to pass in NULL pointers if the array size is
zero, so we update our array from wire-er to comply with this
requirement

[ Added fix to avoid tal_resize() of NULL -- RR ]
paymod-03
niftynei 5 years ago
committed by neil saitug
parent
commit
77946bd9fe
  1. 5
      common/features.c
  2. 3
      wire/fromwire.c

5
common/features.c

@ -195,8 +195,9 @@ u8 *get_agreed_channelfeatures(const tal_t *ctx,
max_len = (i / 8) + 1;
}
/* Trim to length */
tal_resize(&f, max_len);
/* Trim to length (unless it's already NULL). */
if (f)
tal_resize(&f, max_len);
return f;
}

3
wire/fromwire.c

@ -211,6 +211,9 @@ u8 *fromwire_tal_arrn(const tal_t *ctx,
const u8 **cursor, size_t *max, size_t num)
{
u8 *arr;
if (num == 0)
return NULL;
if (num > *max)
return fromwire_fail(cursor, max);

Loading…
Cancel
Save