Esme Povirk (@madewokherd) commented about dlls/windowscodecs/metadataquery.c:
if (schemas[i].vt != VT_EMPTY)hr = get_query_item_name(&schemas[i], &schema_name);if (SUCCEEDED(hr))hr = get_query_item_name(&ids[i], &id_name);if (SUCCEEDED(hr)){size = 4;if (schema_name)size += wcslen(schema_name);if (id_name)size += wcslen(id_name);if (!(strings[i] = CoTaskMemAlloc(size * sizeof(WCHAR))))hr = E_OUTOFMEMORY;
Seems like we don't actually do anything with errors in this loop. It won't crash or return a failure to the caller, but any item that fails will have `strings[i]` uninitialized or NULL.