delve/pkg/proc
Alessandro Arzilli 4dc8aedc4d
proc/gdbserial: fix two protocol bugs (#2172)
During the testing of the core dump generation feature two bugs were
discovered in gdbserial:

1. we don't check that both bytes of the checksum are read, if the
   buffer only has one byte we can end up reading only one byte instead
   of two and the second byte will mess up the parsing of the next
   packet
2. binary encoded packets can start with an 'E' and not be errors, when
   using binary responses add an extra check for the lenght of the
   response before deciding that the response is an error.
   Unfortunately this encoding is inherently ambiguous (we can't
   distinguish a 3 byte response starting with 'E' from an error) so
   binary requests that lead to short responses should be avoided.

Testing this is complicated, they will be tested implicitly by the
upcoming core dump test.

Co-authored-by: a <a@kra>
2020-09-15 13:15:49 -07:00
..
core proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
fbsdutil proc: correct minor typos (#2148) 2020-08-24 10:19:50 -07:00
gdbserial proc/gdbserial: fix two protocol bugs (#2172) 2020-09-15 13:15:49 -07:00
linutil proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
native proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
test Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
winutil proc: correct minor typos (#2148) 2020-08-24 10:19:50 -07:00
amd64_arch.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
amd64_disasm.go proc: convert Arch into a struct (#1972) 2020-03-30 11:03:29 -07:00
arch.go proc: convert Arch into a struct (#1972) 2020-03-30 11:03:29 -07:00
arm64_arch.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
arm64_disasm.go Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
bininfo.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
breakpoints.go proc: prevent internal breakpoint conditions from failing 2020-09-01 15:01:39 +02:00
disasm.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
doc.go Move top-level packages into pkg 2017-02-08 12:17:19 -08:00
dwarf_export_test.go proc: keep track of nesting depth while reading compile units 2020-07-16 15:34:00 +02:00
dwarf_expr_test.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
eval.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
fncall.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
goroutine_cache.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
i386_arch.go proc: fix support for AVX registers (#2139) 2020-08-31 10:55:43 -07:00
i386_disasm.go proc: convert Arch into a struct (#1972) 2020-03-30 11:03:29 -07:00
interface.go proc/*: move Set/Clear Breakpoint methods to Target (#2064) 2020-06-03 11:14:14 -07:00
mem.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
moduledata.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
pe.go pkg/proc,service: support linux/386 (#1884) 2020-03-10 09:34:40 -07:00
proc_general_test.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
proc_linux_test.go cmd,proc,terminal,debugger: Support default file descriptor redirects 2020-09-01 21:50:27 +02:00
proc_test.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
proc_unexported_test.go proc: allow calls to optimized functions (#1684) 2019-09-25 10:23:02 -07:00
proc_unix_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
registers.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
scope_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
stack.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
target_exec.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
target.go proc/*: move Set/Clear Breakpoint methods to Target (#2064) 2020-06-03 11:14:14 -07:00
threads.go proc/*: only load floating point registers when needed (#1981) 2020-05-13 11:56:50 -07:00
types.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
variable_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
variables.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00
x86_disasm.go proc/*,service: replace uses of uintptr with uint64 (#2163) 2020-09-09 10:36:15 -07:00