mirror of
https://github.com/ipxe/ipxe
synced 2026-05-14 20:00:42 +03:00
[efi] Fix operator precedence in autoexec network download
The != operator has higher precedence than = in C, so the expressions: rc = imgacquire ( ..., image ) != 0 are parsed as: rc = ( imgacquire ( ..., image ) != 0 ) This assigns the boolean result (0 or 1) to rc instead of the actual return code from imgacquire(). As a result, strerror(rc) reports an incorrect error message when debugging is enabled. Add parentheses around each assignment to ensure rc captures the actual return value, matching the pattern already used in efi_autoexec_filesystem() within the same file. Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
8d2ebbf8a1
commit
df4eec8cfb
@@ -132,10 +132,10 @@ static int efi_autoexec_network ( EFI_HANDLE handle, struct image **image ) {
|
||||
}
|
||||
|
||||
/* Attempt download from current working URI, then from root */
|
||||
if ( ( rc = imgacquire ( EFI_AUTOEXEC_NAME, EFI_AUTOEXEC_TIMEOUT,
|
||||
image ) != 0 ) &&
|
||||
( rc = imgacquire ( "/" EFI_AUTOEXEC_NAME, EFI_AUTOEXEC_TIMEOUT,
|
||||
image ) != 0 ) ) {
|
||||
if ( ( ( rc = imgacquire ( EFI_AUTOEXEC_NAME, EFI_AUTOEXEC_TIMEOUT,
|
||||
image ) ) != 0 ) &&
|
||||
( ( rc = imgacquire ( "/" EFI_AUTOEXEC_NAME, EFI_AUTOEXEC_TIMEOUT,
|
||||
image ) ) != 0 ) ) {
|
||||
DBGC ( device, "EFI %s could not download [/]%s: %s\n",
|
||||
efi_handle_name ( device ), EFI_AUTOEXEC_NAME,
|
||||
strerror ( rc ) );
|
||||
|
||||
Reference in New Issue
Block a user