mirror of https://github.com/ipxe/ipxe.git
[iscsi] Treat redirection failures as fatal
Debugged-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/56/head
parent
89c6db838f
commit
55f7a675d6
|
@ -1710,6 +1710,7 @@ static int iscsi_vredirect ( struct iscsi_session *iscsi, int type,
|
|||
va_list args ) {
|
||||
va_list tmp;
|
||||
struct sockaddr *peer;
|
||||
int rc;
|
||||
|
||||
/* Intercept redirects to a LOCATION_SOCKET and record the IP
|
||||
* address for the iBFT. This is a bit of a hack, but avoids
|
||||
|
@ -1725,7 +1726,15 @@ static int iscsi_vredirect ( struct iscsi_session *iscsi, int type,
|
|||
va_end ( tmp );
|
||||
}
|
||||
|
||||
return xfer_vreopen ( &iscsi->socket, type, args );
|
||||
/* Redirect to new location */
|
||||
if ( ( rc = xfer_vreopen ( &iscsi->socket, type, args ) ) != 0 )
|
||||
goto err;
|
||||
|
||||
return 0;
|
||||
|
||||
err:
|
||||
iscsi_close ( iscsi, rc );
|
||||
return rc;
|
||||
}
|
||||
|
||||
/** iSCSI socket interface operations */
|
||||
|
|
Loading…
Reference in New Issue