SwmDialog: Fix missing NULL terminator for UninstallMultipleProtocolInterfaces#831
Merged
Merged
Conversation
8e92239 to
16ee106
Compare
makubacki
approved these changes
Feb 18, 2026
makubacki
left a comment
Member
There was a problem hiding this comment.
I assume the author copied/pasted code from elsewhere that typically ends the variadic list with a single NULL as the terminator for the protocol GUID portion of the pair and they have the more unusual case of uninstalling a protocol without an interface structure.
os-d
approved these changes
Feb 18, 2026
apop5
pushed a commit
that referenced
this pull request
Feb 25, 2026
…nterfaces (#831) ## Description SwmDialogsDestructor calls UninstallMultipleProtocolInterfaces() which takes a Null-terminated list of <guid, interface> pairs to uninstall. However, it fails to include the NULL terminator, which causes an attempt to uninstall stack garbage. This PR adds the NULL termination to the call to correctly terminate the list. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Unloaded a driver before/after the fix, observed that attempt to uninstall non-existent protocol no longer occurs. ## Integration Instructions N/A
apop5
pushed a commit
to apop5/mu_plus
that referenced
this pull request
Feb 26, 2026
…nterfaces (microsoft#831) ## Description SwmDialogsDestructor calls UninstallMultipleProtocolInterfaces() which takes a Null-terminated list of <guid, interface> pairs to uninstall. However, it fails to include the NULL terminator, which causes an attempt to uninstall stack garbage. This PR adds the NULL termination to the call to correctly terminate the list. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Unloaded a driver before/after the fix, observed that attempt to uninstall non-existent protocol no longer occurs. ## Integration Instructions N/A
apop5
pushed a commit
to apop5/mu_plus
that referenced
this pull request
Mar 3, 2026
…nterfaces (microsoft#831) ## Description SwmDialogsDestructor calls UninstallMultipleProtocolInterfaces() which takes a Null-terminated list of <guid, interface> pairs to uninstall. However, it fails to include the NULL terminator, which causes an attempt to uninstall stack garbage. This PR adds the NULL termination to the call to correctly terminate the list. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Unloaded a driver before/after the fix, observed that attempt to uninstall non-existent protocol no longer occurs. ## Integration Instructions N/A
apop5
pushed a commit
that referenced
this pull request
Mar 3, 2026
…nterfaces (#831) ## Description SwmDialogsDestructor calls UninstallMultipleProtocolInterfaces() which takes a Null-terminated list of <guid, interface> pairs to uninstall. However, it fails to include the NULL terminator, which causes an attempt to uninstall stack garbage. This PR adds the NULL termination to the call to correctly terminate the list. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Unloaded a driver before/after the fix, observed that attempt to uninstall non-existent protocol no longer occurs. ## Integration Instructions N/A
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
SwmDialogsDestructor calls UninstallMultipleProtocolInterfaces() which takes a Null-terminated list of <guid, interface> pairs to uninstall. However, it fails to include the NULL terminator, which causes an attempt to uninstall stack garbage. This PR adds the NULL termination to the call to correctly terminate the list.
How This Was Tested
Unloaded a driver before/after the fix, observed that attempt to uninstall non-existent protocol no longer occurs.
Integration Instructions
N/A