Ein versteckter Bug in DOS 3.3 SYS.COM: Das Geheimnis der beschädigten NetDrive-Disk-Images
Dieser Artikel beschreibt die Untersuchung eines Bugs im DOS 3.3-Systembefehl `SYS.COM` durch den Autor. Dieser Befehl kopiert den Bootloader-Code auf eine Diskette, beschädigt aber das Image, wenn er mit virtuellen NetDrive-Disk-Images verwendet wird. Durch sorgfältige Analyse stellte der Autor fest, dass `SYS.COM` den Rückgabewert eines Generic IOCTL-Aufrufs, der zum Abrufen der Disk-Parameter verwendet wird, nicht überprüft. Wenn dieser Aufruf fehlschlägt (z. B. der NetDrive-Treiber unterstützt die Funktion nicht), schreibt `SYS.COM` fälschlicherweise Mülldaten in den Bootsektor der Diskette und beschädigt so das Image. Dieser Fehler tritt nur bei bestimmten Arten von Disk-Images (z. B. Festplatten-Images) auf, da DOS versucht, die Geometrie der Diskette abzurufen, während dies bei Diskette-Images nicht der Fall ist. Der Autor identifiziert schließlich die Ursache des Fehlers und erklärt die Bedingungen, unter denen er auftritt.