Browse Source

Validate Boot Record Meta Data

- Added basic checks to verify boot image size is > 0 before attempting to load.  Thanks and credit to @hubertushirsch.  See Discussion #631.

Co-Authored-By: HubertH <51236138+hubertushirsch@users.noreply.github.com>
pull/633/head
Wayne Warthen 2 months ago
parent
commit
f5a7c61214
No known key found for this signature in database GPG Key ID: 8B34ED29C07EEB0A
  1. 4
      Source/HBIOS/romldr.asm

4
Source/HBIOS/romldr.asm

@ -1576,6 +1576,8 @@ diskboot9:
ld de,(bb_cpmloc) ; de := start
or a ; clear carry
sbc hl,de ; hl := length to load
jp z,err_sig ; can't load zero length
jp c,err_sig ; can't load negative length
; If load length is not a multiple of sector size (512)
; we need to round up to get everything loaded!
ld de,511 ; 1 less than sector size
@ -2668,7 +2670,7 @@ str_err_noslice .db "Disk unit does not support slices",0
str_err_badslice .db "Slice specified is illegal",0
str_err_nocon .db "Invalid character unit specification",0
str_err_diskio .db "Disk I/O failure",0
str_err_sig .db "No system image on disk",0
str_err_sig .db "Invalid boot record",0
str_err_api .db "Unexpected hardware BIOS API failure",0
;
;=======================================================================

Loading…
Cancel
Save