Be more careful about assembling/disassembling
device numbers. In particular, this should fix a bug where archiving a device node with a very large minor number would sometimes overflow and corrupt the major number. Thanks to: Ben Mesander MFC after: 7 days
This commit is contained in:
parent
3579953091
commit
3b4eb33882
@ -609,7 +609,7 @@ archive_entry_set_rdevmajor(struct archive_entry *entry, dev_t m)
|
||||
dev_t d;
|
||||
|
||||
d = entry->ae_stat.st_rdev;
|
||||
entry->ae_stat.st_rdev = makedev(m, minor(d));
|
||||
entry->ae_stat.st_rdev = makedev(major(m), minor(d));
|
||||
}
|
||||
|
||||
void
|
||||
@ -618,7 +618,7 @@ archive_entry_set_rdevminor(struct archive_entry *entry, dev_t m)
|
||||
dev_t d;
|
||||
|
||||
d = entry->ae_stat.st_rdev;
|
||||
entry->ae_stat.st_rdev = makedev( major(d), m);
|
||||
entry->ae_stat.st_rdev = makedev(major(d), minor(m));
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
x
Reference in New Issue
Block a user