diff --git a/tools/generate-wire.py b/tools/generate-wire.py index 6ae1e9acb..6f3eb3879 100755 --- a/tools/generate-wire.py +++ b/tools/generate-wire.py @@ -289,8 +289,8 @@ class Message(object): f.num_elems) elif f.is_variable_size(): subcalls.append("\t//2th case {name}".format(name=f.name)) - subcalls.append('\t*{} = tal_arr(ctx, {}, {});' - .format(f.name, f.fieldtype.name, f.lenvar)) + subcalls.append('\t*{} = {} ? tal_arr(ctx, {}, {}) : NULL;' + .format(f.name, f.lenvar, f.fieldtype.name, f.lenvar)) self.print_fromwire_array(subcalls, basetype, f, '*'+f.name, f.lenvar)