makedevs: allow much longer filenames
function old new delta makedevs_main 1056 1071 +15 Patch by Kang-Che Sung <explorer09@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
637982f5bb
commit
3532e60ca8
@ -208,17 +208,17 @@ int makedevs_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
unsigned count = 0;
|
unsigned count = 0;
|
||||||
unsigned increment = 0;
|
unsigned increment = 0;
|
||||||
unsigned start = 0;
|
unsigned start = 0;
|
||||||
char name[41];
|
|
||||||
char user[41];
|
char user[41];
|
||||||
char group[41];
|
char group[41];
|
||||||
char *full_name = name;
|
char *full_name;
|
||||||
|
int name_len;
|
||||||
uid_t uid;
|
uid_t uid;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
|
|
||||||
linenum = parser->lineno;
|
linenum = parser->lineno;
|
||||||
|
|
||||||
if ((2 > sscanf(line, "%40s %c %o %40s %40s %u %u %u %u %u",
|
if ((1 > sscanf(line, "%*s%n %c %o %40s %40s %u %u %u %u %u",
|
||||||
name, &type, &mode, user, group,
|
&name_len, &type, &mode, user, group,
|
||||||
&major, &minor, &start, &increment, &count))
|
&major, &minor, &start, &increment, &count))
|
||||||
|| ((unsigned)(major | minor | start | count | increment) > 255)
|
|| ((unsigned)(major | minor | start | count | increment) > 255)
|
||||||
) {
|
) {
|
||||||
@ -229,9 +229,11 @@ int makedevs_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
|
|
||||||
gid = (*group) ? get_ug_id(group, xgroup2gid) : getgid();
|
gid = (*group) ? get_ug_id(group, xgroup2gid) : getgid();
|
||||||
uid = (*user) ? get_ug_id(user, xuname2uid) : getuid();
|
uid = (*user) ? get_ug_id(user, xuname2uid) : getuid();
|
||||||
|
line[name_len] = '\0';
|
||||||
|
full_name = line;
|
||||||
/* We are already in the right root dir,
|
/* We are already in the right root dir,
|
||||||
* so make absolute paths relative */
|
* so make absolute paths relative */
|
||||||
if ('/' == *full_name)
|
if ('/' == full_name[0])
|
||||||
full_name++;
|
full_name++;
|
||||||
|
|
||||||
if (type == 'd') {
|
if (type == 'd') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user