summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/util/Option/ROM.pm5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/util/Option/ROM.pm b/src/util/Option/ROM.pm
index fb37ce4b..6c396730 100644
--- a/src/util/Option/ROM.pm
+++ b/src/util/Option/ROM.pm
@@ -266,11 +266,10 @@ sub set {
# Split out any data belonging to the next image
delete $self->{next_image};
- my $length = ( $hash->{length} * 512 );
my $pci_header = $hash->pci_header();
- if ( ( $length < length $data ) &&
- ( defined $pci_header ) &&
+ if ( ( defined $pci_header ) &&
( ! ( $pci_header->{last_image} & PCI_LAST_IMAGE ) ) ) {
+ my $length = ( $pci_header->{image_length} * 512 );
my $remainder = substr ( $data, $length );
$data = substr ( $data, 0, $length );
$self->{next_image} = new Option::ROM;