[prev in list] [next in list] [prev in thread] [next in thread]
List: busybox
Subject: [BusyBox] bug#1306: [PATCH INCLUDED] mknod.c does not create block or character devic es correctly
From: Stewart Brodie <Stewart.Brodie () pace ! co ! uk>
Date: 2003-03-31 9:16:03
[Download RAW message or body]
Package: busybox
Version: 0.61pre
Severity: high
coreutils/mknod.c revision 1.24 committed on 20th March 2003 does not create
block or character devices with the correct major or minor numbers. This is
due to a bug in mknod.c described below, together with a small patch which
corrects the problem.
Due to an incorrect conditional expression, mknod only attempts to evaluate
the major and minor numbers if the node being created is NOT a block or
character device. The result is that all character and block devices are
created with major and minor numbers of zero. I believe that there is a
possibility of a seg fault when creating FIFOs due to evaluation of
non-existing parameters, but have not observed this is limited testing.
Index: coreutils/mknod.c
===================================================================
RCS file: /var/cvs/busybox/coreutils/mknod.c,v
retrieving revision 1.24
diff -b -w -u -r1.24 mknod.c
--- coreutils/mknod.c 19 Mar 2003 09:11:33 -0000 1.24
+++ coreutils/mknod.c 31 Mar 2003 14:02:47 -0000
@@ -46,7 +46,7 @@
mode |= modes_cubp[(int)(name[4])];
dev = 0;
- if ((*name != 'p') && ((argc -= 2) == 0)) {
+ if ((*name != 'p') && ((argc -= 2) == 2)) {
dev = (bb_xgetularg10_bnd(argv[2], 0, 255) << 8)
+ bb_xgetularg10_bnd(argv[3], 0, 255);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic