=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/modstat/Attic/modstat.c,v retrieving revision 1.13 retrieving revision 1.14 diff -c -r1.13 -r1.14 *** src/usr.bin/modstat/Attic/modstat.c 2001/07/18 17:17:39 1.13 --- src/usr.bin/modstat/Attic/modstat.c 2001/08/18 22:06:44 1.14 *************** *** 1,4 **** ! /* $OpenBSD: modstat.c,v 1.13 2001/07/18 17:17:39 pvalchev Exp $ */ /* * Copyright (c) 1993 Terrence R. Lambert. --- 1,4 ---- ! /* $OpenBSD: modstat.c,v 1.14 2001/08/18 22:06:44 deraadt Exp $ */ /* * Copyright (c) 1993 Terrence R. Lambert. *************** *** 52,59 **** usage() { ! fprintf(stderr, ! "usage: modstat [-i moduleid] [-n modulename]\n"); exit(1); } --- 52,58 ---- usage() { ! fprintf(stderr, "usage: modstat [-i moduleid] [-n modulename]\n"); exit(1); } *************** *** 72,80 **** int modnum; char *modname; { struct lmc_stat sbuf; - char name[MAXLKMNAME] = ""; bzero(&sbuf, sizeof sbuf); sbuf.id = modnum; sbuf.name = name; --- 71,80 ---- int modnum; char *modname; { + char name[MAXLKMNAME]; struct lmc_stat sbuf; + bzero(&name, sizeof name); bzero(&sbuf, sizeof sbuf); sbuf.id = modnum; sbuf.name = name; *************** *** 82,88 **** if (modname != NULL) { if (strlen(modname) >= sizeof(name)) return 4; ! strcpy(sbuf.name, modname); } if (ioctl(devfd, LMSTAT, &sbuf) == -1) { --- 82,88 ---- if (modname != NULL) { if (strlen(modname) >= sizeof(name)) return 4; ! strlcpy(sbuf.name, modname, sizeof(name)); } if (ioctl(devfd, LMSTAT, &sbuf) == -1) { *************** *** 97,138 **** } } ! /* ! * Decode this stat buffer... ! */ printf("%-7s %3d %3ld %08lx %04lx %8lx %3ld %s\n", ! type_names[sbuf.type], ! sbuf.id, /* module id */ ! sbuf.offset, /* offset into modtype struct */ ! (long)sbuf.area, /* address module loaded at */ ! (long)sbuf.size, /* size in pages(K) */ ! (long)sbuf.private, /* kernel address of private area */ ! (long)sbuf.ver, /* Version; always 1 for now */ ! sbuf.name /* name from private area */ ! ); - /* - * Done (success). - */ return 0; } int devfd; - void - cleanup() - { - - close(devfd); - } - int main(argc, argv) int argc; char *argv[]; { ! int c; ! int modnum = -1; char *modname = NULL; while ((c = getopt(argc, argv, "i:n:")) != -1) { --- 97,119 ---- } } ! /* Decode this stat buffer... */ printf("%-7s %3d %3ld %08lx %04lx %8lx %3ld %s\n", ! type_names[sbuf.type], sbuf.id, sbuf.offset, ! (long)sbuf.area, (long)sbuf.size, (long)sbuf.private, ! (long)sbuf.ver, sbuf.name); return 0; } int devfd; int main(argc, argv) int argc; char *argv[]; { ! int c, modnum = -1; char *modname = NULL; while ((c = getopt(argc, argv, "i:n:")) != -1) { *************** *** 164,185 **** setegid(getgid()); setgid(getgid()); - atexit(cleanup); - printf("Type Id Off Loadaddr Size Info Rev Module Name\n"); - /* - * Oneshot? - */ if (modnum != -1 || modname != NULL) { if (dostat(devfd, modnum, modname)) exit(3); exit(0); } ! /* ! * Start at 0 and work up until "EINVAL". ! */ for (modnum = 0; dostat(devfd, modnum, NULL) < 2; modnum++) ; --- 145,159 ---- setegid(getgid()); setgid(getgid()); printf("Type Id Off Loadaddr Size Info Rev Module Name\n"); if (modnum != -1 || modname != NULL) { if (dostat(devfd, modnum, modname)) exit(3); exit(0); } ! /* Start at 0 and work up until we receive EINVAL. */ for (modnum = 0; dostat(devfd, modnum, NULL) < 2; modnum++) ;