Commit 2d014b6
committed
Kernel: Fix IoCreateFile double-deref, IoDeleteSymbolicLink handle leak, IoSynchronous* stubs
- IoCreateFile: null OpenPacket.FileObject after dereferencing it in the
error path to prevent the final cleanup from dereferencing it again
(double-free/use-after-free on file open failures)
- IoDeleteSymbolicLink: always close the Handle regardless of whether
NtMakeTemporaryObject succeeds (handle leak on every failed symlink
deletion, accumulating during dashboard transitions)
- IoSynchronousDeviceIoControlRequest and IoSynchronousFsdRequest: return
X_STATUS_NOT_IMPLEMENTED instead of S_OK so games hit their error paths
rather than reading uninitialized output buffers1 parent c9aec91 commit 2d014b6
1 file changed
Lines changed: 4 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
574 | 574 | | |
575 | 575 | | |
576 | 576 | | |
| 577 | + | |
577 | 578 | | |
578 | 579 | | |
579 | 580 | | |
| |||
681 | 682 | | |
682 | 683 | | |
683 | 684 | | |
684 | | - | |
685 | | - | |
686 | | - | |
| 685 | + | |
687 | 686 | | |
688 | 687 | | |
689 | 688 | | |
| |||
1565 | 1564 | | |
1566 | 1565 | | |
1567 | 1566 | | |
1568 | | - | |
| 1567 | + | |
1569 | 1568 | | |
1570 | 1569 | | |
1571 | 1570 | | |
| |||
1590 | 1589 | | |
1591 | 1590 | | |
1592 | 1591 | | |
1593 | | - | |
| 1592 | + | |
1594 | 1593 | | |
1595 | 1594 | | |
1596 | 1595 | | |
| |||
0 commit comments