From d06693d3651f2464cd88044e2ffc938688be346a Mon Sep 17 00:00:00 2001 From: Cody Peter Mello Date: Tue, 19 Apr 2016 21:51:24 +0000 Subject: OS-5348 mdb -e doesn't properly report exit status for failed writes Reviewed by: Joshua M. Clulow Reviewed by: Patrick Mooney --- usr/src/cmd/mdb/common/mdb/mdb_cmds.c | 5 ++--- usr/src/cmd/mdb/test/exit-e/err.nowrite.ksh | 1 + usr/src/cmd/mdb/test/exit-e/err.unmapped.ksh | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 usr/src/cmd/mdb/test/exit-e/err.nowrite.ksh create mode 100644 usr/src/cmd/mdb/test/exit-e/err.unmapped.ksh (limited to 'usr/src') diff --git a/usr/src/cmd/mdb/common/mdb/mdb_cmds.c b/usr/src/cmd/mdb/common/mdb/mdb_cmds.c index 95b216cfbe..add162a839 100644 --- a/usr/src/cmd/mdb/common/mdb/mdb_cmds.c +++ b/usr/src/cmd/mdb/common/mdb/mdb_cmds.c @@ -252,7 +252,7 @@ write_arglist(mdb_tgt_as_t as, mdb_tgt_addr_t addr, mdb_warn("failed to write %llr at address 0x%llx", value, addr); mdb.m_incr = 0; - break; + return (DCMD_ERR); } mdb.m_incr = naddr - addr; @@ -520,8 +520,7 @@ cmd_print_phys(uintptr_t x, uint_t flags, int argc, const mdb_arg_t *argv) /*ARGSUSED*/ static int -cmd_print_value(uintptr_t addr, uint_t flags, - int argc, const mdb_arg_t *argv) +cmd_print_value(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) { uintmax_t ndot, dot = mdb_get_dot(); const char *tgt_argv[1]; diff --git a/usr/src/cmd/mdb/test/exit-e/err.nowrite.ksh b/usr/src/cmd/mdb/test/exit-e/err.nowrite.ksh new file mode 100644 index 0000000000..8f0fda2253 --- /dev/null +++ b/usr/src/cmd/mdb/test/exit-e/err.nowrite.ksh @@ -0,0 +1 @@ +$MDB -e '0xbaddcafe/v 0x02' diff --git a/usr/src/cmd/mdb/test/exit-e/err.unmapped.ksh b/usr/src/cmd/mdb/test/exit-e/err.unmapped.ksh new file mode 100644 index 0000000000..874283f186 --- /dev/null +++ b/usr/src/cmd/mdb/test/exit-e/err.unmapped.ksh @@ -0,0 +1 @@ +$MDB -e '0x0/v 0x02' /bin/ls -- cgit v1.2.3