- Fix usage of setmode. it can fail due to malloc, so we should print the correct error message. Index: src/usr.sbin/mtree/spec.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/mtree/spec.c,v retrieving revision 1.21 diff -u -r1.21 spec.c --- src/usr.sbin/mtree/spec.c 19 Nov 2003 15:28:21 -0000 1.21 +++ src/usr.sbin/mtree/spec.c 12 Dec 2004 23:20:48 -0000 @@ -219,9 +219,14 @@ /* just set flag bit */ break; case F_MODE: - if ((m = setmode(val)) == NULL) - errx(1, "line %d: invalid file mode %s", - lineno, val); + errno = 0; + if ((m = setmode(val)) == NULL) { + if (!errno) + errx(1, "line %d: invalid file mode %s", + lineno, val); + else + err(1, "setmode"); + } ip->st_mode = getmode(m, 0); free(m); break;