diff options
author | Kamil Rytarowski <n54@gmx.com> | 2020-10-07 15:12:59 +0200 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2020-10-07 15:15:54 +0200 |
commit | 4641551a7a176f31ebe75bf068b4a6e3fa5a612f (patch) | |
tree | 5fd2f69d3a3ba8660a95a039aef24df65ccfc643 /gdb/nat | |
parent | 2be01f639c0983caeafdd36127ac3ef517d7a643 (diff) | |
download | gdb-4641551a7a176f31ebe75bf068b4a6e3fa5a612f.zip gdb-4641551a7a176f31ebe75bf068b4a6e3fa5a612f.tar.gz gdb-4641551a7a176f31ebe75bf068b4a6e3fa5a612f.tar.bz2 |
Correct logical error in NetBSD's read_memory and write_memory
In case of repeated ptrace PT_IO call and returning the value of
transferred bytes equal to 0, do not return without setting
xfered_len.
gdb/ChangeLog:
* nat/netbsd-nat.c (write_memory, read_memory): Update.
Diffstat (limited to 'gdb/nat')
-rw-r--r-- | gdb/nat/netbsd-nat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/nat/netbsd-nat.c b/gdb/nat/netbsd-nat.c index cae9cc2..e0b61cd 100644 --- a/gdb/nat/netbsd-nat.c +++ b/gdb/nat/netbsd-nat.c @@ -238,7 +238,7 @@ write_memory (pid_t pid, unsigned const char *writebuf, CORE_ADDR offset, return errno; } if (io.piod_len == 0) - return 0; + break; bytes_written += io.piod_len; io.piod_len = len - bytes_written; @@ -276,7 +276,7 @@ read_memory (pid_t pid, unsigned char *readbuf, CORE_ADDR offset, if (rv == -1) return errno; if (io.piod_len == 0) - return 0; + break; bytes_read += io.piod_len; io.piod_len = len - bytes_read; |