diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/cmd/mdb/common/mdb/mdb_print.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/usr/src/cmd/mdb/common/mdb/mdb_print.c b/usr/src/cmd/mdb/common/mdb/mdb_print.c index 263b157f65..fe74265b68 100644 --- a/usr/src/cmd/mdb/common/mdb/mdb_print.c +++ b/usr/src/cmd/mdb/common/mdb/mdb_print.c @@ -728,13 +728,6 @@ cmd_list(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) char buf[MDB_SYM_NAMLEN]; int ret; - /* - * Check that we were provided 2 arguments: a type name - * and a member of that type. - */ - if (argc != 2) - return (DCMD_USAGE); - ret = args_to_typename(&argc, &argv, buf, sizeof (buf)); if (ret != 0) return (ret); @@ -742,6 +735,14 @@ cmd_list(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv) argv++; argc--; + /* + * If we make it here, we were provided a type name. We should + * only continue if we still have arguments left (e.g. member + * name and potentially a variable name). + */ + if (argc == 0) + return (DCMD_USAGE); + member = argv->a_un.a_str; offset = mdb_ctf_offsetof_by_name(buf, member); if (offset == -1) |