From: Michael Brown Date: Tue, 28 Mar 2017 17:45:23 +0000 (+0300) Subject: [iscsi] Do not install iBFT when no iSCSI targets exist X-Git-Tag: v1.20.1~228 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2ace5196e5580810ea3aa53352a4a7331f442e58;p=thirdparty%2Fipxe.git [iscsi] Do not install iBFT when no iSCSI targets exist Signed-off-by: Michael Brown --- diff --git a/src/drivers/block/ibft.c b/src/drivers/block/ibft.c index a9d21f9ac..bb7812b3b 100644 --- a/src/drivers/block/ibft.c +++ b/src/drivers/block/ibft.c @@ -591,6 +591,12 @@ static int ibft_install ( int ( * install ) ( struct acpi_header *acpi ) ) { strings.len = 0; len = offset; + /* Do nothing if no targets exist */ + if ( ! targets ) { + rc = 0; + goto no_targets; + } + /* Allocate table */ data = zalloc ( len ); if ( ! data ) { @@ -668,6 +674,7 @@ static int ibft_install ( int ( * install ) ( struct acpi_header *acpi ) ) { err_initiator: free ( data ); err_alloc: + no_targets: free ( strings.data ); return rc; }