david/ipxe
Archived
1
0

[autoboot] Cope properly with empty DHCP filenames

This (hopefully) fixes a regression introduced in commit e088892
("[autoboot] Connect SAN disk during a filename boot, if applicable").

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2011-02-01 04:25:38 +00:00
parent d77b183f10
commit 88b8aa0f65

View File

@ -81,11 +81,11 @@ static struct uri * parse_next_server_and_filename ( struct in_addr next_server,
* filenames with and without initial slashes, which is
* significant for TFTP.
*/
if ( ! uri_is_absolute ( uri ) ) {
if ( next_server.s_addr && filename[0] && ! uri_is_absolute ( uri ) ) {
uri_put ( uri );
snprintf ( buf, sizeof ( buf ), "tftp://%s/%s",
inet_ntoa ( next_server ), filename );
uri = parse_uri ( filename );
uri = parse_uri ( buf );
if ( ! uri )
return NULL;
}
@ -130,7 +130,7 @@ int uriboot ( struct uri *filename, struct uri *root_path ) {
}
/* Treat empty URIs as absent */
if ( filename && ( ! filename->path ) )
if ( filename && ( ! uri_has_path ( filename ) ) )
filename = NULL;
if ( root_path && ( ! uri_is_absolute ( root_path ) ) )
root_path = NULL;