Skip to content

Commit

Permalink
Fix segfault in CoCreateInstance (#59)
Browse files Browse the repository at this point in the history
* Fix segfault in CoCreateInstance

* update comment

* typo

* typo x2
  • Loading branch information
mkst authored Oct 25, 2023
1 parent 0f8fb7f commit 2d627de
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions dll/ole32.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@ namespace ole32 {
const GUID *riid,
void **ppv
) {
// when license.dat is missing:
// rclsid = CLSID_ShellLink (0x21401), riid = IID_IShellLinkA (0x214ee)
// and then it crashes with a null pointer deref
DEBUG_LOG("CoCreateInstance 0x%x %p %d 0x%x %p\n", rclsid->Data1, pUnkOuter, dwClsContext, riid->Data1, *ppv);
*ppv = 0;
return 1;
// E_POINTER is returned when ppv is NULL, which isn't true here, but returning 1 results
// in a segfault with mwcceppc.exe when it's told to include directories that don't exist
return 0x80004003; // E_POINTER
}
}

Expand Down

0 comments on commit 2d627de

Please sign in to comment.