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.