mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
ee4617ec5f
Ensure that a dnsp_DnsProperty is rejected if the length data does not not correspond to the length indicated by the union id. It was possible for the union to be referencing memory past the end of the structure. Found by Douglas Bagnall using Hongfuzz and the new fuzz_ndr_X fuzzer. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14206 Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
use hexdump -v -e '12/1 "0x%02x, " "\n"' infile|outfile to import ndr dumps Or use gdb: (gdb) b dump_printer Breakpoint 1 at 0x49c92f: file ../source3/utils/net_printing.c, line 158. (gdb) cond 1 strcmp(key_name, "s0bc") == 0 (gdb) run Breakpoint 1, dump_printer (mem_ctx=0x700a20, key_name=0x11fb8f9 "s0bc", data=0x18f93d0 "H\032", length=1284, do_string_conversion=true) at ../source3/utils/net_printing.c:158 158 printf("found printer: %s\n", key_name); -> Now use x/<length in byte>bx (gdb) x/1284bx data This prints data as hex values. 1284 is the length in byte (see the length argument of the function). The b indicates byte.