From 3ce98ab7de5369a2be492c873ffb7d2e44828d40 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Tue, 26 Mar 2019 19:28:04 +0100 Subject: [PATCH] wire: Allow non-u16 length variables in non-bolt wire formats Otherwise we can't really return a variable sized message with more than 65k results. This was causing an integer overflow in `listchannels` (see #2504 for details). Signed-off-by: Christian Decker --- tools/generate-wire.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/generate-wire.py b/tools/generate-wire.py index 3d03bcce7..394935293 100755 --- a/tools/generate-wire.py +++ b/tools/generate-wire.py @@ -308,7 +308,7 @@ class Message(object): return for f in self.fields: if f.name == field.lenvar: - if f.fieldtype.name != 'u16': + if f.fieldtype.name != 'u16' and options.bolt: raise ValueError('Field {} has non-u16 length variable {} (type {})' .format(field.name, field.lenvar, f.fieldtype.name))