summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/mdb/common/mdb/mdb_print.c15
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)