Don't follow a null pointer for the reporting error if kvm_openfiles() fails.

Don't ever pretend that the program is named "." and has no args.
This commit is contained in:
Bruce Evans 1994-11-14 07:54:06 +00:00
parent 2f1d65aabc
commit 99fb10656e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=4459

View File

@ -16,6 +16,7 @@
#include <sys/rlist.h> #include <sys/rlist.h>
#include <nlist.h> #include <nlist.h>
#include <kvm.h> #include <kvm.h>
#include <limits.h>
struct rlist *swaplist; struct rlist *swaplist;
@ -45,12 +46,11 @@ char **argv;
static long blocksize; static long blocksize;
static int headerlen; static int headerlen;
static char *header; static char *header;
char **save;
kvm_t *kd; kvm_t *kd;
char errbuf[_POSIX2_LINE_MAX];
/* We are trying to be simple here: */ /* We are trying to be simple here: */
save = argv;
while ((ch = getopt(argc, argv, "k")) != EOF) while ((ch = getopt(argc, argv, "k")) != EOF)
switch(ch) { switch(ch) {
case 'k': case 'k':
@ -60,19 +60,13 @@ char **argv;
default: default:
usage(); usage();
} }
argv += optind;
if (!*argv) {
argv = save;
argv[0] = ".";
argv[1] = NULL;
}
/* Open up /dev/kmem for reading. */ /* Open up /dev/kmem for reading. */
if ((kd = kvm_openfiles(NULL, NULL, NULL, NULL, NULL)) == (kvm_t *)0) { kd = kvm_openfiles((char *)NULL, (char *)NULL, (char *)NULL, 0, errbuf);
fprintf (stderr, "%s: kvm_openfiles: %s\n", if (kd == NULL) {
argv [0], kvm_geterr(kd)); fprintf (stderr, "%s: kvm_openfiles: %s\n",
argv [0], errbuf);
exit (1); exit (1);
} }