Browse Source

wireaddr: keep valgrind happy with wireaddr which are pathnames.

==12787== Uninitialised byte(s) found during client check request
==12787==    at 0x450AAC: memcheck_ (mem.h:247)
==12787==    by 0x450B17: towire (towire.c:19)
==12787==    by 0x45103D: towire_u8_array (towire.c:159)
==12787==    by 0x443235: towire_wireaddr_internal (wireaddr.c:79)
==12787==    by 0x46E6F2: towire_connectctl_init (gen_connect_wire.c:229)
==12787==    by 0x40D6C8: connectd_init (connect_control.c:369)
==12787==    by 0x4186D3: main (lightningd.c:701)
==12787==  Address 0x682d8a9 is 361 bytes inside a block of size 568 alloc'd
==12787==    at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==12787==    by 0x4867A5: tal_resize_ (tal.c:694)
==12787==    by 0x41F3EE: opt_add_addr_withtype (options.c:143)
==12787==    by 0x41F4D7: opt_add_bind_addr (options.c:155)
==12787==    by 0x47E364: parse_one (parse.c:121)
==12787==    by 0x47F9C8: opt_parse (opt.c:210)
==12787==    by 0x4212F9: handle_opts (options.c:892)
==12787==    by 0x41864C: main (lightningd.c:667)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
issue-2504
Rusty Russell 6 years ago
committed by Christian Decker
parent
commit
9a25b5dd87
  1. 2
      common/wireaddr.c

2
common/wireaddr.c

@ -428,6 +428,8 @@ bool parse_wireaddr_internal(const char *arg, struct wireaddr_internal *addr,
*err_msg = "Socket name too long";
return false;
}
/* Zero it out for passing across the wire */
memset(addr->u.sockname, 0, sizeof(addr->u.sockname));
strcpy(addr->u.sockname, arg);
return true;
}

Loading…
Cancel
Save