Esme Povirk (@madewokherd) commented about dlls/windowscodecs/metadatahandler.c:
if (SUCCEEDED(hr))
hr = create_metadata_reader(item->id.uiVal == IFD_EXIF_TAG ? &GUID_MetadataFormatExif : &GUID_MetadataFormatGps,
vendor, options | WICMetadataCreationFailUnknown, sub_stream, &sub_reader);
{
const GUID *format = item->id.uiVal == IFD_EXIF_TAG ? &GUID_MetadataFormatExif : &GUID_MetadataFormatGps;
if (is_writer)
hr = create_metadata_writer(format, vendor, options | WICMetadataCreationFailUnknown,
(IWICMetadataWriter **)&sub_reader);
else
hr = create_metadata_reader(format, vendor, options | WICMetadataCreationFailUnknown,
NULL, &sub_reader);
}
if (SUCCEEDED(hr))
hr = IWICMetadataReader_QueryInterface(sub_reader, &IID_IWICPersistStream, (void **)&persist_stream);
This isn't a new problem with the change, but I think sub_reader may be leaked if this fails.