86Box/86Box

Dynamic VHD out-of-bounds write

Closed this issue · 2 comments

What happened?

I was playing with some BIOS settings and noticed that the 86box process became stuck. It turned out those were several gigabytes of zeroes written into the HDD file (dynamic VHD with 2MB blocks), apparently because the file pointer was moved out of limit of the maximum size of the disk.

Please make sure that you don't write data outside of limits established by the VHD file structure.

Configuration file

N/A

Operating system

Windows 10

CPU

N/A

86Box version

4754

Build architecture

Windows - x86 (32-bit)

Build type

  • New recompiler
  • Debug build

Download source

Official website (Jenkins, GitHub)

Additional context

No response

We'll need your config file, disk (should compress fine if it's all zeroes), nvr directory and steps to reproduce.

This is most likely already fixed - pretty much every emulated hard disk controller had a buggy implementation of the FORMAT command that erroneously used a non-zero starting sector. This has since been rectified. So I'm closing this as fixed, it can be reopened if it's not.