Nikolay Sivov (@nsivov) commented about dlls/combase/combase.c:
static HRESULT clsid_from_string_reg(LPCOLESTR progid, CLSID *clsid) {
- WCHAR buf2[CHARS_IN_GUID];
- WCHAR buf2[CHARS_IN_GUID],buf3[CHARS_IN_GUID]; LONG buf2len = sizeof(buf2);
- LONG buf3len = sizeof(buf3);
Those should be renamed to something more intuitive. Also buf3 here does not contain a stringified GUID but ProgID, so using CHARS_IN_GUID length is incorrect.
What happens if ProgID referenced with CurVer itself contains another CurVer, is it followed?