diff options
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/PartitionTable.pm | 4 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/ManaTools/Shared/disk_backend/PartitionTable.pm b/lib/ManaTools/Shared/disk_backend/PartitionTable.pm index 9636fae0..fc4900f7 100644 --- a/lib/ManaTools/Shared/disk_backend/PartitionTable.pm +++ b/lib/ManaTools/Shared/disk_backend/PartitionTable.pm @@ -75,7 +75,9 @@ has 'disk' => ( # the disk was not detected return undef; } + chomp($lines[1]); my @fields = split(':', $lines[1]); + (scalar(@fields) == 8) or die('unexpected parted output...'); # set the partition table device file $self->device($fields[0]); # set the partition table sectors @@ -93,7 +95,9 @@ has 'disk' => ( my $parts = $self->partitions(); my $i = 2; while (defined($lines[$i])) { + chomp($lines[$i]); @fields = split(':', $lines[$i]); + (scalar(@fields) == 7) or die('unexpected parted output...'); $parts->{$fields[0]} = { file => $self->device() . $fields[0], begin => $fields[1] =~ s/s$//r, diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm index 024c5026..b82ab80a 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Loop.pm @@ -130,6 +130,7 @@ override ('probe', sub { for my $line (@lines) { chomp($line); my @fields = split(' ', $line); + (scalar(@fields) == 9) or die('unexpected losetup output...'); my $loopfile = $self->_sanitize_string($fields[1]); my $bdfile = '/sys/block/'. basename($loopfile); my $io = $self->parent->mkio('Disk', {id => basename($loopfile), path => $bdfile}); |