aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlandley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-03-06 19:31:39 +0000
committerlandley <landley@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-03-06 19:31:39 +0000
commit2cb5ca3cd6461e4e9632f53b4cece1ade0282580 (patch)
tree515cdddb86c5244e7eb14f0a723e8d41d7541723
parent72ab9fe573665bfb4f1fc93ecfbbaa89f6e36105 (diff)
downloadbusybox-w32-2cb5ca3cd6461e4e9632f53b4cece1ade0282580.tar.gz
busybox-w32-2cb5ca3cd6461e4e9632f53b4cece1ade0282580.tar.bz2
busybox-w32-2cb5ca3cd6461e4e9632f53b4cece1ade0282580.zip
Walt Wimer noticed that mknod couldn't handle major or minor > 255. Now our
limit checking autodetects what the system supports (at compile time). git-svn-id: svn://busybox.net/trunk/busybox@14456 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r--coreutils/mknod.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/coreutils/mknod.c b/coreutils/mknod.c
index 7b2467b8f..b6e85272d 100644
--- a/coreutils/mknod.c
+++ b/coreutils/mknod.c
@@ -47,8 +47,10 @@ extern int mknod_main(int argc, char **argv)
47 47
48 dev = 0; 48 dev = 0;
49 if ((*name != 'p') && ((argc -= 2) == 2)) { 49 if ((*name != 'p') && ((argc -= 2) == 2)) {
50 dev = (bb_xgetularg10_bnd(argv[2], 0, 255) << 8) 50 /* Autodetect what the system supports; thexe macros should
51 + bb_xgetularg10_bnd(argv[3], 0, 255); 51 * optimize out to two constants. */
52 dev = makedev(bb_xgetularg10_bnd(argv[2], 0, major(UINT_MAX)),
53 bb_xgetularg10_bnd(argv[3], 0, minor(UINT_MAX)));
52 } 54 }
53 55
54 if (argc == 2) { 56 if (argc == 2) {