From 8e15d40d24ea4d32c7078c10829032f5411d2a8c Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 11 Sep 2017 15:18:43 +0000 Subject: Provide an error message if KTR symbols in a vmcore cannot be resolved. libkvm does not set an error string in this case, so we were previously failing silently. MFC after: 1 week --- usr.bin/ktrdump/ktrdump.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'usr.bin') diff --git a/usr.bin/ktrdump/ktrdump.c b/usr.bin/ktrdump/ktrdump.c index d6a4e0911d03..a23ae413400b 100644 --- a/usr.bin/ktrdump/ktrdump.c +++ b/usr.bin/ktrdump/ktrdump.c @@ -98,6 +98,7 @@ main(int ac, char **av) char *p; int version; int entries; + int count; int index, index2; int parm; int in; @@ -184,8 +185,12 @@ main(int ac, char **av) */ caph_cache_catpages(); - if (kvm_nlist(kd, nl) != 0 || - kvm_read(kd, nl[0].n_value, &version, sizeof(version)) == -1) + count = kvm_nlist(kd, nl); + if (count == -1) + errx(1, "%s", kvm_geterr(kd)); + if (count > 0) + errx(1, "failed to resolve ktr symbols"); + if (kvm_read(kd, nl[0].n_value, &version, sizeof(version)) == -1) errx(1, "%s", kvm_geterr(kd)); if (version != KTR_VERSION) errx(1, "ktr version mismatch"); -- cgit v1.3