diff options
Diffstat (limited to 'src/interface/efi/efi_path.c')
-rw-r--r-- | src/interface/efi/efi_path.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/interface/efi/efi_path.c b/src/interface/efi/efi_path.c index bae0ac4b5..1a95a3b9a 100644 --- a/src/interface/efi/efi_path.c +++ b/src/interface/efi/efi_path.c @@ -43,12 +43,12 @@ /** * Find end of device path * - * @v path Path to device - * @ret path_end End of device path + * @v path Device path, or NULL + * @ret path_end End of device path, or NULL */ EFI_DEVICE_PATH_PROTOCOL * efi_path_end ( EFI_DEVICE_PATH_PROTOCOL *path ) { - while ( path->Type != END_DEVICE_PATH_TYPE ) { + while ( path && ( path->Type != END_DEVICE_PATH_TYPE ) ) { path = ( ( ( void * ) path ) + /* There's this amazing new-fangled thing known as * a UINT16, but who wants to use one of those? */ @@ -61,7 +61,7 @@ EFI_DEVICE_PATH_PROTOCOL * efi_path_end ( EFI_DEVICE_PATH_PROTOCOL *path ) { /** * Find length of device path (excluding terminator) * - * @v path Path to device + * @v path Device path, or NULL * @ret path_len Length of device path */ size_t efi_path_len ( EFI_DEVICE_PATH_PROTOCOL *path ) { |