diff options
-rw-r--r-- | HISTORY | 6 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | fdisk/cfdisk.c | 2 | ||||
-rw-r--r-- | mount/umount.c | 2 |
4 files changed, 9 insertions, 3 deletions
@@ -1,4 +1,10 @@ +util-linux 2.12r-pre1 + +* cfdisk: fix a segfault with ReiserFS partitions +* umount: disallow -r option for non-root users + util-linux 2.12q + * updated translation: nl util-linux 2.12q-pre2 @@ -1 +1 @@ -2.12q +2.12r-pre1 diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c index 46bc494e1..30a888de8 100644 --- a/fdisk/cfdisk.c +++ b/fdisk/cfdisk.c @@ -717,7 +717,7 @@ get_linux_label(int i) { offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE + REISERFS_DISK_OFFSET_IN_BYTES; if (ext2_llseek(fd, offset, SEEK_SET) == offset - && read(fd, &reiserfsb, 1024) == 1024 + && read(fd, &reiserfsb, sizeof(reiserfsb)) == sizeof(reiserfsb) && has_reiserfs_magic_string(&reiserfsb, &reiserfs_is_3_6)) { if (reiserfs_is_3_6) { /* label only on version 3.6 onward */ diff --git a/mount/umount.c b/mount/umount.c index b26c28d45..db63d96a8 100644 --- a/mount/umount.c +++ b/mount/umount.c @@ -714,7 +714,7 @@ main (int argc, char *argv[]) { if (getuid () != geteuid ()) { suid = 1; - if (all || types || nomtab || force) + if (all || types || nomtab || force || remount) die (2, _("umount: only root can do that")); } |