Backport of:

From a0476060ed1acc70f532c43a6f0193de97210c5e Mon Sep 17 00:00:00 2001
From: arpitapanda05 <79362772+arpitapanda05@users.noreply.github.com>
Date: Mon, 30 Aug 2021 13:14:19 +0530
Subject: Integration For August Release (#43)

* [CTECHXMP-4170513] Fix for PSIRT-17958

* [CTECHXMP-4170540] Fix for PSIRT-18145

* [CTECHXMP-4170557] Fix for PSIRT-18538

* [CTECHXMP-4170585] Fix for PSIRT-18750

* Fix add semicolons

* Changing the CopyRight note in all the files
---
 XMPCommon/BaseClasses/MemoryManagedObject.h        |   6 +-
 XMPCommon/BaseClasses/TSingleton.h                 |   6 +-
 XMPCommon/ImplHeaders/ConfigurableImpl.h           |   6 +-
 XMPCommon/ImplHeaders/ConfigurationManagerImpl.h   |   6 +-
 XMPCommon/ImplHeaders/DefaultErrorNotifierImpl.h   |   6 +-
 XMPCommon/ImplHeaders/ErrorImpl.h                  |   6 +-
 XMPCommon/ImplHeaders/ErrorNotifierWrapperImpl.h   |   6 +-
 XMPCommon/ImplHeaders/MemoryAllocatorWrapperImpl.h |   6 +-
 XMPCommon/ImplHeaders/SharedMutexImpl.h            |   6 +-
 XMPCommon/ImplHeaders/SharedObjectImpl.h           |   6 +-
 XMPCommon/ImplHeaders/ThreadSafeImpl.h             |   6 +-
 XMPCommon/ImplHeaders/UTF8StringImpl.h             |   6 +-
 .../Interfaces/BaseInterfaces/IConfigurable_I.h    |   6 +-
 .../Interfaces/BaseInterfaces/ISharedObject_I.h    |   6 +-
 .../Interfaces/BaseInterfaces/IThreadSafe_I.h      |   6 +-
 XMPCommon/Interfaces/IConfigurationManager_I.h     |   6 +-
 XMPCommon/Interfaces/IErrorNotifier_I.h            |   6 +-
 XMPCommon/Interfaces/IError_I.h                    |   6 +-
 XMPCommon/Interfaces/IMemoryAllocator_I.h          |   6 +-
 XMPCommon/Interfaces/ISharedMutex.h                |   6 +-
 XMPCommon/Interfaces/IUTF8String_I.h               |   6 +-
 XMPCommon/Utilities/AutoSharedLock.h               |   6 +-
 XMPCommon/Utilities/IUTF8StringComparator.h        |   6 +-
 XMPCommon/Utilities/TAllocator.h                   |   6 +-
 XMPCommon/Utilities/TAtomicTypes.h                 |   6 +-
 XMPCommon/Utilities/TAtomicTypes_Android.h         |   6 +-
 XMPCommon/Utilities/TAtomicTypes_Linux.h           |   6 +-
 XMPCommon/Utilities/TAtomicTypes_Mac.h             |   6 +-
 XMPCommon/Utilities/TAtomicTypes_Win.h             |   6 +-
 XMPCommon/Utilities/TSmartPointers_I.h             |   6 +-
 XMPCommon/Utilities/UTF8String.h                   |   6 +-
 XMPCommon/XMPCommonDefines_I.h                     |   6 +-
 XMPCommon/XMPCommonErrorCodes_I.h                  |   6 +-
 XMPCommon/XMPCommonFwdDeclarations_I.h             |   6 +-
 XMPCommon/XMPCommon_I.h                            |   6 +-
 XMPCommon/source/AutoSharedLock.cpp                |   6 +-
 XMPCommon/source/ConfigurableImpl.cpp              |   6 +-
 XMPCommon/source/ConfigurationManagerImpl.cpp      |   6 +-
 XMPCommon/source/DefaultErrorNotifierImpl.cpp      |   6 +-
 XMPCommon/source/ErrorImpl.cpp                     |   6 +-
 XMPCommon/source/ErrorNotifierWrapperImpl.cpp      |   6 +-
 XMPCommon/source/IConfigurable_I.cpp               |   6 +-
 XMPCommon/source/IConfigurationManager_I.cpp       |   6 +-
 XMPCommon/source/IErrorNotifier_I.cpp              |   6 +-
 XMPCommon/source/IError_I.cpp                      |   6 +-
 XMPCommon/source/IMemoryAllocator_I.cpp            |   6 +-
 XMPCommon/source/IUTF8StringComparator.cpp         |   6 +-
 XMPCommon/source/IUTF8String_I.cpp                 |   6 +-
 XMPCommon/source/MemoryAllocatorWrapperImpl.cpp    |   6 +-
 XMPCommon/source/MemoryManagedObject.cpp           |   6 +-
 XMPCommon/source/SharedMutexImpl.cpp               |   6 +-
 XMPCommon/source/SharedObjectImpl.cpp              |   6 +-
 XMPCommon/source/ThreadSafeImpl.cpp                |   6 +-
 XMPCommon/source/UTF8StringImpl.cpp                |   6 +-
 XMPCommon/source/XMPCommon.cpp                     |   6 +-
 XMPCore/ImplHeaders/ArrayNodeImpl.h                |   6 +-
 XMPCore/ImplHeaders/ClientDOMParserWrapperImpl.h   |   6 +-
 .../ImplHeaders/ClientDOMSerializerWrapperImpl.h   |   6 +-
 XMPCore/ImplHeaders/CompositeNodeImpl.h            |   6 +-
 XMPCore/ImplHeaders/CoreConfigurationManagerImpl.h |   6 +-
 XMPCore/ImplHeaders/CoreObjectFactoryImpl.h        |   6 +-
 .../ImplHeaders/DOMImplementationRegistryImpl.h    |   6 +-
 XMPCore/ImplHeaders/DOMParserImpl.h                |   6 +-
 XMPCore/ImplHeaders/DOMSerializerImpl.h            |   6 +-
 XMPCore/ImplHeaders/MetadataConverterUtilsImpl.h   |   6 +-
 XMPCore/ImplHeaders/MetadataImpl.h                 |   6 +-
 XMPCore/ImplHeaders/NameSpacePrefixMapImpl.h       |   6 +-
 XMPCore/ImplHeaders/NodeImpl.h                     |   6 +-
 XMPCore/ImplHeaders/PathImpl.h                     |   6 +-
 XMPCore/ImplHeaders/PathSegmentImpl.h              |   6 +-
 XMPCore/ImplHeaders/RDFDOMParserImpl.h             |   6 +-
 XMPCore/ImplHeaders/RDFDOMSerializerImpl.h         |   6 +-
 XMPCore/ImplHeaders/SimpleNodeImpl.h               |   6 +-
 XMPCore/ImplHeaders/StructureNodeImpl.h            |   6 +-
 XMPCore/ImplHeaders/TNodeIteratorImpl.h            |   6 +-
 XMPCore/Interfaces/IArrayNode_I.h                  |   6 +-
 XMPCore/Interfaces/ICompositeNode_I.h              |   6 +-
 XMPCore/Interfaces/ICoreConfigurationManager_I.h   |   6 +-
 XMPCore/Interfaces/ICoreObjectFactory_I.h          |   6 +-
 XMPCore/Interfaces/IDOMImplementationRegistry_I.h  |   6 +-
 XMPCore/Interfaces/IDOMParser_I.h                  |   6 +-
 XMPCore/Interfaces/IDOMSerializer_I.h              |   6 +-
 XMPCore/Interfaces/IMetadataConverterUtils_I.h     |   6 +-
 XMPCore/Interfaces/IMetadata_I.h                   |   6 +-
 XMPCore/Interfaces/INameSpacePrefixMap_I.h         |   6 +-
 XMPCore/Interfaces/INodeIterator_I.h               |   6 +-
 XMPCore/Interfaces/INode_I.h                       |   6 +-
 XMPCore/Interfaces/IPathSegment_I.h                |   6 +-
 XMPCore/Interfaces/IPath_I.h                       |   6 +-
 XMPCore/Interfaces/ISimpleNode_I.h                 |   6 +-
 XMPCore/Interfaces/IStructureNode_I.h              |   6 +-
 XMPCore/Interfaces/IXMPLanguageAlternative_I.h     |   6 +-
 XMPCore/XMPCoreDefines_I.h                         |   6 +-
 XMPCore/XMPCoreFwdDeclarations_I.h                 |   6 +-
 XMPCore/build/CMakeLists.txt                       |   2 +-
 XMPCore/source/ArrayNodeImpl.cpp                   |   6 +-
 XMPCore/source/ClientDOMParserWrapperImpl.cpp      |   6 +-
 XMPCore/source/ClientDOMSerializerWrapperImpl.cpp  |   6 +-
 XMPCore/source/CompositeNodeImpl.cpp               |   6 +-
 XMPCore/source/CoreConfigurationManagerImpl.cpp    |   6 +-
 XMPCore/source/CoreObjectFactoryImpl.cpp           |   6 +-
 XMPCore/source/DOMImplementationRegistryImpl.cpp   |   6 +-
 XMPCore/source/DOMParserImpl.cpp                   |   6 +-
 XMPCore/source/DOMSerializerImpl.cpp               |   6 +-
 XMPCore/source/ExpatAdapter.cpp                    |   8 +-
 XMPCore/source/IArrayNode_I.cpp                    |   6 +-
 XMPCore/source/ICompositeNode_I.cpp                |   6 +-
 XMPCore/source/ICoreConfigurationManager_I.cpp     |   6 +-
 XMPCore/source/ICoreObjectFactory_I.cpp            |   6 +-
 XMPCore/source/IDOMImplementationRegistry_I.cpp    |   6 +-
 XMPCore/source/IDOMParser_I.cpp                    |   6 +-
 XMPCore/source/IDOMSerializer_I.cpp                |   6 +-
 XMPCore/source/IMetadataConverterUtils_I.cpp       |   6 +-
 XMPCore/source/IMetadata_I.cpp                     |   6 +-
 XMPCore/source/INameSpacePrefixMap_I.cpp           |   6 +-
 XMPCore/source/INodeIterator_I.cpp                 |   6 +-
 XMPCore/source/INode_I.cpp                         |   6 +-
 XMPCore/source/IPathSegment_I.cpp                  |   6 +-
 XMPCore/source/IPath_I.cpp                         |   6 +-
 XMPCore/source/ISimpleNode_I.cpp                   |   6 +-
 XMPCore/source/IStructureNode_I.cpp                |   6 +-
 XMPCore/source/MetadataConverterUtilsImpl.cpp      |   6 +-
 XMPCore/source/MetadataImpl.cpp                    |   6 +-
 XMPCore/source/NameSpacePrefixMapImpl.cpp          |   6 +-
 XMPCore/source/NodeImpl.cpp                        |   6 +-
 XMPCore/source/ParseRDF.cpp                        |   6 +-
 XMPCore/source/PathImpl.cpp                        |   6 +-
 XMPCore/source/PathSegmentImpl.cpp                 |   6 +-
 XMPCore/source/RDFDOMParserImpl.cpp                |   6 +-
 XMPCore/source/RDFDOMSerializerImpl.cpp            |   6 +-
 XMPCore/source/SimpleNodeImpl.cpp                  |   6 +-
 XMPCore/source/StructureNodeImpl.cpp               |   6 +-
 XMPCore/source/WXMPIterator.cpp                    |   6 +-
 XMPCore/source/WXMPMeta.cpp                        |   6 +-
 XMPCore/source/WXMPUtils.cpp                       |   6 +-
 XMPCore/source/XMPCore_Impl.cpp                    |   6 +-
 XMPCore/source/XMPCore_Impl.hpp                    |   6 +-
 XMPCore/source/XMPIterator.cpp                     |   6 +-
 XMPCore/source/XMPIterator.hpp                     |   6 +-
 XMPCore/source/XMPIterator2.cpp                    |   6 +-
 XMPCore/source/XMPIterator2.hpp                    |   6 +-
 XMPCore/source/XMPMeta-GetSet.cpp                  |   6 +-
 XMPCore/source/XMPMeta-Parse.cpp                   |   6 +-
 XMPCore/source/XMPMeta-Serialize.cpp               |   4 +-
 XMPCore/source/XMPMeta.cpp                         |   6 +-
 XMPCore/source/XMPMeta.hpp                         |   6 +-
 XMPCore/source/XMPMeta2-GetSet.cpp                 |   6 +-
 XMPCore/source/XMPUtils-FileInfo.cpp               |   6 +-
 XMPCore/source/XMPUtils.cpp                        |   6 +-
 XMPCore/source/XMPUtils.hpp                        |   6 +-
 XMPCore/source/XMPUtils2.cpp                       |   6 +-
 XMPFiles/build/CMakeLists.txt                      |   2 +-
 XMPFiles/source/FileHandlers/AIFF_Handler.cpp      |   6 +-
 XMPFiles/source/FileHandlers/AIFF_Handler.hpp      |   6 +-
 XMPFiles/source/FileHandlers/ASF_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/ASF_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/AVCHD_Handler.cpp     |   6 +-
 XMPFiles/source/FileHandlers/AVCHD_Handler.hpp     |   6 +-
 XMPFiles/source/FileHandlers/Basic_Handler.cpp     |   6 +-
 XMPFiles/source/FileHandlers/Basic_Handler.hpp     |   6 +-
 XMPFiles/source/FileHandlers/FLV_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/FLV_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/GIF_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/GIF_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/InDesign_Handler.cpp  |   6 +-
 XMPFiles/source/FileHandlers/InDesign_Handler.hpp  |   6 +-
 XMPFiles/source/FileHandlers/JPEG_Handler.cpp      |   6 +-
 XMPFiles/source/FileHandlers/JPEG_Handler.hpp      |   6 +-
 XMPFiles/source/FileHandlers/MP3_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/MP3_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/MPEG2_Handler.cpp     |   6 +-
 XMPFiles/source/FileHandlers/MPEG2_Handler.hpp     |   6 +-
 XMPFiles/source/FileHandlers/MPEG4_Handler.cpp     |   6 +-
 XMPFiles/source/FileHandlers/MPEG4_Handler.hpp     |   6 +-
 XMPFiles/source/FileHandlers/P2_Handler.cpp        |   6 +-
 XMPFiles/source/FileHandlers/P2_Handler.hpp        |   6 +-
 XMPFiles/source/FileHandlers/PNG_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/PNG_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/PSD_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/PSD_Handler.hpp       |   6 +-
 .../source/FileHandlers/PostScript_Handler.cpp     |   6 +-
 .../source/FileHandlers/PostScript_Handler.hpp     |   6 +-
 XMPFiles/source/FileHandlers/RIFF_Handler.cpp      |   6 +-
 XMPFiles/source/FileHandlers/RIFF_Handler.hpp      |   6 +-
 XMPFiles/source/FileHandlers/SVG_Handler.cpp       |   8 +-
 XMPFiles/source/FileHandlers/SVG_Handler.hpp       |   8 +-
 XMPFiles/source/FileHandlers/SWF_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/SWF_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/Scanner_Handler.cpp   |   6 +-
 XMPFiles/source/FileHandlers/Scanner_Handler.hpp   |   6 +-
 XMPFiles/source/FileHandlers/SonyHDV_Handler.cpp   |   6 +-
 XMPFiles/source/FileHandlers/SonyHDV_Handler.hpp   |   6 +-
 XMPFiles/source/FileHandlers/TIFF_Handler.cpp      |   6 +-
 XMPFiles/source/FileHandlers/TIFF_Handler.hpp      |   6 +-
 XMPFiles/source/FileHandlers/Trivial_Handler.cpp   |   6 +-
 XMPFiles/source/FileHandlers/Trivial_Handler.hpp   |   6 +-
 XMPFiles/source/FileHandlers/UCF_Handler.cpp       |   6 +-
 XMPFiles/source/FileHandlers/UCF_Handler.hpp       |   6 +-
 XMPFiles/source/FileHandlers/WAVE_Handler.cpp      |   6 +-
 XMPFiles/source/FileHandlers/WAVE_Handler.hpp      |   6 +-
 XMPFiles/source/FileHandlers/XDCAMEX_Handler.cpp   |   6 +-
 XMPFiles/source/FileHandlers/XDCAMEX_Handler.hpp   |   6 +-
 XMPFiles/source/FileHandlers/XDCAMFAM_Handler.cpp  |   6 +-
 XMPFiles/source/FileHandlers/XDCAMFAM_Handler.hpp  |   6 +-
 XMPFiles/source/FileHandlers/XDCAMSAM_Handler.cpp  |   6 +-
 XMPFiles/source/FileHandlers/XDCAMSAM_Handler.hpp  |   6 +-
 XMPFiles/source/FileHandlers/XDCAM_Handler.cpp     |   6 +-
 XMPFiles/source/FileHandlers/XDCAM_Handler.hpp     |   6 +-
 .../source/FormatSupport/AIFF/AIFFBehavior.cpp     |   6 +-
 XMPFiles/source/FormatSupport/AIFF/AIFFBehavior.h  |   6 +-
 .../source/FormatSupport/AIFF/AIFFMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/AIFF/AIFFMetadata.h  |   6 +-
 .../source/FormatSupport/AIFF/AIFFReconcile.cpp    |   6 +-
 XMPFiles/source/FormatSupport/AIFF/AIFFReconcile.h |   6 +-
 XMPFiles/source/FormatSupport/ASF_Support.cpp      |  11 +-
 XMPFiles/source/FormatSupport/ASF_Support.hpp      |   6 +-
 XMPFiles/source/FormatSupport/ID3_Support.cpp      |   6 +-
 XMPFiles/source/FormatSupport/ID3_Support.hpp      |   6 +-
 XMPFiles/source/FormatSupport/IFF/Chunk.cpp        |   6 +-
 XMPFiles/source/FormatSupport/IFF/Chunk.h          |   6 +-
 .../source/FormatSupport/IFF/ChunkController.cpp   |   6 +-
 .../source/FormatSupport/IFF/ChunkController.h     |   6 +-
 XMPFiles/source/FormatSupport/IFF/ChunkPath.cpp    |   6 +-
 XMPFiles/source/FormatSupport/IFF/ChunkPath.h      |   6 +-
 .../source/FormatSupport/IFF/IChunkBehavior.cpp    |   6 +-
 XMPFiles/source/FormatSupport/IFF/IChunkBehavior.h |   6 +-
 .../source/FormatSupport/IFF/IChunkContainer.h     |   6 +-
 XMPFiles/source/FormatSupport/IFF/IChunkData.h     |   6 +-
 XMPFiles/source/FormatSupport/IPTC_Support.cpp     |   6 +-
 XMPFiles/source/FormatSupport/IPTC_Support.hpp     |   6 +-
 .../source/FormatSupport/ISOBaseMedia_Support.cpp  |   6 +-
 .../source/FormatSupport/ISOBaseMedia_Support.hpp  |   6 +-
 XMPFiles/source/FormatSupport/META_Support.cpp     |   6 +-
 XMPFiles/source/FormatSupport/META_Support.hpp     |   6 +-
 XMPFiles/source/FormatSupport/MOOV_Support.cpp     |   6 +-
 XMPFiles/source/FormatSupport/MOOV_Support.hpp     |   6 +-
 XMPFiles/source/FormatSupport/P2_Support.cpp       |   8 +-
 XMPFiles/source/FormatSupport/P2_Support.hpp       |   6 +-
 XMPFiles/source/FormatSupport/PNG_Support.cpp      |   6 +-
 XMPFiles/source/FormatSupport/PNG_Support.hpp      |   6 +-
 XMPFiles/source/FormatSupport/PSIR_FileWriter.cpp  |   6 +-
 .../source/FormatSupport/PSIR_MemoryReader.cpp     |   6 +-
 XMPFiles/source/FormatSupport/PSIR_Support.hpp     |   6 +-
 .../source/FormatSupport/PackageFormat_Support.cpp |   6 +-
 .../source/FormatSupport/PackageFormat_Support.hpp |   6 +-
 .../source/FormatSupport/PostScript_Support.cpp    |   6 +-
 .../source/FormatSupport/PostScript_Support.hpp    |   8 +-
 .../source/FormatSupport/QuickTime_Support.cpp     |   6 +-
 .../source/FormatSupport/QuickTime_Support.hpp     |  14 +-
 XMPFiles/source/FormatSupport/RIFF.cpp             |   6 +-
 XMPFiles/source/FormatSupport/RIFF.hpp             |   6 +-
 XMPFiles/source/FormatSupport/RIFF_Support.cpp     |   6 +-
 XMPFiles/source/FormatSupport/RIFF_Support.hpp     |   6 +-
 XMPFiles/source/FormatSupport/ReconcileIPTC.cpp    |   6 +-
 XMPFiles/source/FormatSupport/ReconcileLegacy.cpp  |   6 +-
 XMPFiles/source/FormatSupport/ReconcileLegacy.hpp  |   6 +-
 XMPFiles/source/FormatSupport/ReconcileTIFF.cpp    |   6 +-
 XMPFiles/source/FormatSupport/Reconcile_Impl.cpp   |   6 +-
 XMPFiles/source/FormatSupport/Reconcile_Impl.hpp   |   6 +-
 XMPFiles/source/FormatSupport/SVG_Adapter.cpp      |  21 ++-
 XMPFiles/source/FormatSupport/SVG_Adapter.hpp      |   8 +-
 XMPFiles/source/FormatSupport/SWF_Support.cpp      |   6 +-
 XMPFiles/source/FormatSupport/SWF_Support.hpp      |   6 +-
 XMPFiles/source/FormatSupport/TIFF_FileWriter.cpp  |   6 +-
 .../source/FormatSupport/TIFF_MemoryReader.cpp     |   6 +-
 XMPFiles/source/FormatSupport/TIFF_Support.cpp     |   6 +-
 XMPFiles/source/FormatSupport/TIFF_Support.hpp     |   6 +-
 .../source/FormatSupport/TimeConversionUtils.cpp   |   6 +-
 .../source/FormatSupport/TimeConversionUtils.hpp   |   6 +-
 .../source/FormatSupport/WAVE/BEXTMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/BEXTMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/CartMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/CartMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/Cr8rMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/Cr8rMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/DISPMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/DISPMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/INFOMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/INFOMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/PrmLMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/PrmLMetadata.h  |   6 +-
 .../source/FormatSupport/WAVE/WAVEBehavior.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/WAVEBehavior.h  |   6 +-
 .../source/FormatSupport/WAVE/WAVEReconcile.cpp    |   6 +-
 XMPFiles/source/FormatSupport/WAVE/WAVEReconcile.h |   6 +-
 .../source/FormatSupport/WAVE/iXMLMetadata.cpp     |   6 +-
 XMPFiles/source/FormatSupport/WAVE/iXMLMetadata.h  |   6 +-
 XMPFiles/source/FormatSupport/XDCAM_Support.cpp    |   6 +-
 XMPFiles/source/FormatSupport/XDCAM_Support.hpp    |   6 +-
 XMPFiles/source/FormatSupport/XMPScanner.cpp       |   6 +-
 XMPFiles/source/FormatSupport/XMPScanner.hpp       |   6 +-
 XMPFiles/source/HandlerRegistry.cpp                |   6 +-
 XMPFiles/source/HandlerRegistry.h                  |   6 +-
 .../source/NativeMetadataSupport/IMetadata.cpp     |   6 +-
 XMPFiles/source/NativeMetadataSupport/IMetadata.h  |   6 +-
 .../source/NativeMetadataSupport/IReconcile.cpp    |   6 +-
 XMPFiles/source/NativeMetadataSupport/IReconcile.h |   6 +-
 .../source/NativeMetadataSupport/MetadataSet.cpp   |   6 +-
 .../source/NativeMetadataSupport/MetadataSet.h     |   6 +-
 .../source/NativeMetadataSupport/ValueObject.h     |   6 +-
 XMPFiles/source/PluginHandler/FileHandler.h        |   6 +-
 .../source/PluginHandler/FileHandlerInstance.cpp   |   6 +-
 .../source/PluginHandler/FileHandlerInstance.h     |   6 +-
 XMPFiles/source/PluginHandler/HostAPIImpl.cpp      |   6 +-
 XMPFiles/source/PluginHandler/Module.cpp           |   6 +-
 XMPFiles/source/PluginHandler/Module.h             |   6 +-
 XMPFiles/source/PluginHandler/ModuleUtils.h        |   6 +-
 XMPFiles/source/PluginHandler/OS_Utils_Android.cpp |   6 +-
 XMPFiles/source/PluginHandler/OS_Utils_Linux.cpp   |   6 +-
 XMPFiles/source/PluginHandler/OS_Utils_Mac.cpp     |   6 +-
 XMPFiles/source/PluginHandler/OS_Utils_WIN.cpp     |   6 +-
 XMPFiles/source/PluginHandler/PluginManager.cpp    |   6 +-
 XMPFiles/source/PluginHandler/PluginManager.h      |   6 +-
 XMPFiles/source/PluginHandler/XMPAtoms.cpp         |   6 +-
 XMPFiles/source/PluginHandler/XMPAtoms.h           |   6 +-
 XMPFiles/source/WXMPFiles.cpp                      |   6 +-
 XMPFiles/source/XMPFiles.cpp                       |   6 +-
 XMPFiles/source/XMPFiles.hpp                       |   6 +-
 XMPFiles/source/XMPFiles_Impl.cpp                  |   6 +-
 XMPFiles/source/XMPFiles_Impl.hpp                  |   6 +-
 .../PDF_Handler/resource/win/CopyPDFL.bat          |  28 +--
 .../PluginTemplate/build/CMakeLists.txt            |   2 +-
 .../build/GeneratePluginTemplate_mac.sh            |   2 +-
 .../build/GeneratePluginTemplate_win.bat           |   2 +-
 XMPFilesPlugins/PluginTemplate/build/README.txt    |  40 ++---
 .../PluginTemplate/source/Template_Handler.cpp     |   6 +-
 XMPFilesPlugins/api/source/HostAPI.h               |   6 +-
 XMPFilesPlugins/api/source/HostAPIAccess.cpp       |   6 +-
 XMPFilesPlugins/api/source/HostAPIAccess.h         |   6 +-
 XMPFilesPlugins/api/source/PluginAPIImpl.cpp       |   6 +-
 XMPFilesPlugins/api/source/PluginBase.cpp          |   6 +-
 XMPFilesPlugins/api/source/PluginBase.h            |   6 +-
 XMPFilesPlugins/api/source/PluginConst.h           |   6 +-
 XMPFilesPlugins/api/source/PluginHandler.h         |   6 +-
 XMPFilesPlugins/api/source/PluginRegistry.cpp      |   6 +-
 XMPFilesPlugins/api/source/PluginRegistry.h        |   6 +-
 XMPFilesPlugins/api/source/PluginUtils.cpp         |   6 +-
 XMPFilesPlugins/api/source/PluginUtils.h           |   6 +-
 build/CMakeLists.txt                               |   2 +-
 build/GenerateAndBuildXMPToolkitSDK_android.sh     |   2 +-
 build/GenerateXMPToolkitSDK_mac.sh                 |   2 +-
 build/GenerateXMPToolkitSDK_win.bat                |   2 +-
 build/ProductConfig.cmake                          |   4 +-
 build/README.txt                                   | 110 ++++++------
 build/XMP_BuildInfo.h                              |   6 +-
 build/XMP_Config.cmake                             |   2 +-
 build/XMP_ConfigCommon.cmake                       |   2 +-
 build/cmake.bat                                    |   2 +-
 build/cmake_all.bat                                |   2 +-
 build/shared/CMakeUtils.bat                        |   2 +-
 build/shared/CMakeUtils.sh                         |   2 +-
 build/shared/SharedConfig.cmake                    |   2 +-
 build/shared/SharedConfig_Android.cmake            |   4 +-
 build/shared/SharedConfig_Common.cmake             |   2 +-
 build/shared/SharedConfig_Ios.cmake                |   2 +-
 build/shared/SharedConfig_Linux.cmake              |   2 +-
 build/shared/SharedConfig_Mac.cmake                |   2 +-
 build/shared/SharedConfig_Win.cmake                |   2 +-
 build/shared/ToolchainGCC.cmake                    |   2 +-
 build/shared/ToolchainLLVM.cmake                   |   2 +-
 build/shared/Toolchain_ios.cmake                   |   2 +-
 public/include/TXMPFiles.hpp                       |   6 +-
 public/include/TXMPIterator.hpp                    |   6 +-
 public/include/TXMPMeta.hpp                        |   6 +-
 public/include/TXMPUtils.hpp                       |   6 +-
 public/include/XMP.hpp                             |   6 +-
 .../Interfaces/BaseInterfaces/IConfigurable.h      |   6 +-
 .../Interfaces/BaseInterfaces/ISharedObject.h      |   6 +-
 .../Interfaces/BaseInterfaces/IThreadSafe.h        |   6 +-
 .../Interfaces/BaseInterfaces/IVersionable.h       |   6 +-
 .../XMPCommon/Interfaces/IConfigurationManager.h   |   6 +-
 public/include/XMPCommon/Interfaces/IError.h       |   6 +-
 .../include/XMPCommon/Interfaces/IErrorNotifier.h  |   6 +-
 .../XMPCommon/Interfaces/IMemoryAllocator.h        |   6 +-
 .../include/XMPCommon/Interfaces/IObjectFactory.h  |   6 +-
 public/include/XMPCommon/Interfaces/IUTF8String.h  |   6 +-
 .../XMPCommon/Utilities/TWrapperFunctions.h        |   6 +-
 .../XMPCommon/Utilities/TWrapperFunctions2.h       |   6 +-
 public/include/XMPCommon/XMPCommonDefines.h        |   6 +-
 public/include/XMPCommon/XMPCommonErrorCodes.h     |   6 +-
 .../include/XMPCommon/XMPCommonFwdDeclarations.h   |   6 +-
 .../XMPCommon/XMPCommonLatestInterfaceVersions.h   |   6 +-
 public/include/XMPCommon/source/IConfigurable.cpp  |   6 +-
 .../XMPCommon/source/IConfigurationManager.cpp     |   6 +-
 public/include/XMPCommon/source/IError.cpp         |   6 +-
 public/include/XMPCommon/source/IErrorNotifier.cpp |   6 +-
 public/include/XMPCommon/source/IUTF8String.cpp    |   6 +-
 public/include/XMPCore/Interfaces/IArrayNode.h     |   6 +-
 .../include/XMPCore/Interfaces/IClientDOMParser.h  |   6 +-
 .../XMPCore/Interfaces/IClientDOMSerializer.h      |   6 +-
 public/include/XMPCore/Interfaces/ICompositeNode.h |   6 +-
 .../XMPCore/Interfaces/ICoreConfigurationManager.h |   6 +-
 .../XMPCore/Interfaces/ICoreObjectFactory.h        |   6 +-
 .../Interfaces/IDOMImplementationRegistry.h        |   6 +-
 public/include/XMPCore/Interfaces/IDOMParser.h     |   6 +-
 public/include/XMPCore/Interfaces/IDOMSerializer.h |   6 +-
 public/include/XMPCore/Interfaces/IMetadata.h      |   6 +-
 .../XMPCore/Interfaces/IMetadataConverterUtils.h   |   6 +-
 .../XMPCore/Interfaces/INameSpacePrefixMap.h       |   6 +-
 public/include/XMPCore/Interfaces/INode.h          |   6 +-
 public/include/XMPCore/Interfaces/INodeIterator.h  |   6 +-
 public/include/XMPCore/Interfaces/IPath.h          |   6 +-
 public/include/XMPCore/Interfaces/IPathSegment.h   |   6 +-
 public/include/XMPCore/Interfaces/ISimpleNode.h    |   6 +-
 public/include/XMPCore/Interfaces/IStructureNode.h |   6 +-
 public/include/XMPCore/XMPCoreDefines.h            |   6 +-
 public/include/XMPCore/XMPCoreErrorCodes.h         |   6 +-
 public/include/XMPCore/XMPCoreFwdDeclarations.h    |   6 +-
 .../XMPCore/XMPCoreLatestInterfaceVersions.h       |   6 +-
 public/include/XMPCore/source/IArrayNode.cpp       |   6 +-
 public/include/XMPCore/source/IClientDOMParser.cpp |   6 +-
 .../XMPCore/source/IClientDOMSerializer.cpp        |   6 +-
 public/include/XMPCore/source/ICompositeNode.cpp   |   6 +-
 .../XMPCore/source/ICoreConfigurationManager.cpp   |   6 +-
 .../include/XMPCore/source/ICoreObjectFactory.cpp  |   6 +-
 .../XMPCore/source/IDOMImplementationRegistry.cpp  |   6 +-
 public/include/XMPCore/source/IDOMParser.cpp       |   6 +-
 public/include/XMPCore/source/IDOMSerializer.cpp   |   6 +-
 public/include/XMPCore/source/IMetadata.cpp        |   6 +-
 .../XMPCore/source/IMetadataConverterUtils.cpp     |   6 +-
 .../include/XMPCore/source/INameSpacePrefixMap.cpp |   6 +-
 public/include/XMPCore/source/INode.cpp            |   6 +-
 public/include/XMPCore/source/INodeIterator.cpp    |   6 +-
 public/include/XMPCore/source/IPath.cpp            |   6 +-
 public/include/XMPCore/source/IPathSegment.cpp     |   6 +-
 public/include/XMPCore/source/ISimpleNode.cpp      |   6 +-
 public/include/XMPCore/source/IStructureNode.cpp   |   6 +-
 public/include/XMP_Const.h                         |   6 +-
 public/include/XMP_Environment.h                   |   6 +-
 public/include/XMP_IO.hpp                          |   6 +-
 public/include/XMP_Version.h                       |   6 +-
 public/include/client-glue/WXMPFiles.hpp           |   6 +-
 public/include/client-glue/WXMPIterator.hpp        |   6 +-
 public/include/client-glue/WXMPMeta.hpp            |   6 +-
 public/include/client-glue/WXMPUtils.hpp           |   6 +-
 public/include/client-glue/WXMP_Common.hpp         |   6 +-
 samples/build/GenerateSamples_mac.sh               |   2 +-
 samples/build/GenerateSamples_win.bat              |   2 +-
 samples/build/cmake/CMakeLists.txt                 |  58 +++----
 samples/build/cmake/CMakeListsCommonSDK.txt        | 154 ++++++++---------
 samples/build/cmake/CustomSchema/CMakeLists.txt    | 174 +++++++++----------
 .../build/cmake/CustomSchemaNewDOM/CMakeLists.txt  | 188 ++++++++++----------
 samples/build/cmake/DumpFile/CMakeLists.txt        |   2 +-
 samples/build/cmake/DumpFile/CMakeListsCommon.txt  | 150 ++++++++--------
 samples/build/cmake/DumpMainXMP/CMakeLists.txt     | 170 +++++++++---------
 samples/build/cmake/DumpScannedXMP/CMakeLists.txt  | 174 +++++++++----------
 samples/build/cmake/ModifyingXMP/CMakeLists.txt    | 176 +++++++++----------
 .../build/cmake/ModifyingXMPNewDOM/CMakeLists.txt  | 188 ++++++++++----------
 samples/build/cmake/ReadingXMP/CMakeLists.txt      | 176 +++++++++----------
 .../build/cmake/ReadingXMPNewDOM/CMakeLists.txt    | 190 ++++++++++-----------
 samples/build/cmake/SharedConfigSDK.cmake          |   2 +-
 samples/build/cmake/XMPCommand/CMakeLists.txt      |   2 +-
 .../build/cmake/XMPCommand/CMakeListsCommon.txt    | 160 ++++++++---------
 samples/build/cmake/XMPCoreCoverage/CMakeLists.txt | 170 +++++++++---------
 .../build/cmake/XMPFilesCoverage/CMakeLists.txt    | 170 +++++++++---------
 samples/build/cmake/XMPIterations/CMakeLists.txt   | 172 +++++++++----------
 samples/build/readme.txt                           |  40 ++---
 samples/source/CustomSchema.cpp                    |   6 +-
 samples/source/CustomSchemaNewDOM.cpp              |   6 +-
 samples/source/DumpMainXMP.cpp                     |   6 +-
 samples/source/DumpScannedXMP.cpp                  |   6 +-
 samples/source/ModifyingXMP.cpp                    |   6 +-
 samples/source/ModifyingXMPNewDOM.cpp              |   6 +-
 samples/source/ReadingXMP.cpp                      |   6 +-
 samples/source/ReadingXMPNewDOM.cpp                |   6 +-
 samples/source/XMPCoreCoverage.cpp                 |   6 +-
 samples/source/XMPFilesCoverage.cpp                |   6 +-
 samples/source/XMPIterations.cpp                   |   6 +-
 samples/source/common/DumpFile.cpp                 |   2 +-
 samples/source/common/LargeFileAccess.cpp          |   2 +-
 samples/source/common/LargeFileAccess.hpp          |   2 +-
 samples/source/common/Log.cpp                      |   2 +-
 samples/source/common/Log.h                        |   2 +-
 samples/source/common/TagTree.cpp                  |   2 +-
 samples/source/common/TagTree.h                    |   2 +-
 samples/source/common/XMPScanner.cpp               |   2 +-
 samples/source/common/XMPScanner.hpp               |   2 +-
 samples/source/common/globals.h                    |   2 +-
 samples/source/dumpfile/main.cpp                   |  10 +-
 samples/source/xmpcommand/Actions.cpp              |   6 +-
 samples/source/xmpcommand/Actions.h                |   6 +-
 samples/source/xmpcommand/PrintUsage.cpp           |  10 +-
 samples/source/xmpcommand/PrintUsage.h             |   6 +-
 samples/source/xmpcommand/XMPCommand.cpp           |   6 +-
 source/Endian.h                                    |   6 +-
 source/EndianUtils.hpp                             |   6 +-
 source/ExpatAdapter.hpp                            |   6 +-
 source/Host_IO-POSIX.cpp                           |   6 +-
 source/Host_IO-Win.cpp                             |   6 +-
 source/Host_IO.hpp                                 |   6 +-
 source/IOUtils.cpp                                 |   6 +-
 source/IOUtils.hpp                                 |   6 +-
 source/PerfUtils.cpp                               |   6 +-
 source/PerfUtils.hpp                               |   6 +-
 source/SafeStringAPIs.cpp                          |   4 +-
 source/SafeStringAPIs.h                            |   4 +-
 source/SafeTypes.h                                 |   4 +-
 source/SuppressSAL.h                               |   4 +-
 source/UnicodeConversions.cpp                      |   6 +-
 source/UnicodeConversions.hpp                      |   6 +-
 source/XIO.cpp                                     |   6 +-
 source/XIO.hpp                                     |   6 +-
 source/XMLParserAdapter.hpp                        |   6 +-
 source/XML_Node.cpp                                |   6 +-
 source/XMPFiles_IO.cpp                             |   6 +-
 source/XMPFiles_IO.hpp                             |   6 +-
 source/XMP_LibUtils.cpp                            |   6 +-
 source/XMP_LibUtils.hpp                            |   6 +-
 source/XMP_ProgressTracker.cpp                     |   6 +-
 source/XMP_ProgressTracker.hpp                     |   6 +-
 third-party/expat/ReadMe.txt                       | 152 ++++++++---------
 third-party/zlib/ReadMe.txt                        |  50 ++++--
 tools/android/ReadMe.txt                           |  36 ++--
 tools/cmake/ReadMe.txt                             |  30 ++--
 514 files changed, 2458 insertions(+), 3322 deletions(-)

--- a/XMPFiles/source/FormatSupport/ASF_Support.cpp
+++ b/XMPFiles/source/FormatSupport/ASF_Support.cpp
@@ -157,6 +157,11 @@ bool ASF_Support::ReadHeaderObject ( XMP
 			fileRef->Seek ( pos, kXMP_SeekFromStart );
 			objectBase.size = GetUns64LE ( &objectBase.size );
 
+			if (XMP_Uns32(objectBase.size) <= 0) /* as ASF_ObjectBase has size in XMP_Uns64 , XMP_Uns32 would give 0 for very large files exceeding UINT32_MAX */
+			{
+				XMP_Throw("Failure reading ASF header object", kXMPErr_InternalFailure);
+			}
+
 			if ( IsEqualGUID ( ASF_File_Properties_Object, objectBase.guid) && (objectBase.size >= 104 ) ) {
 
 				buffer.clear();
--- a/XMPFiles/source/FormatSupport/P2_Support.cpp
+++ b/XMPFiles/source/FormatSupport/P2_Support.cpp
@@ -139,7 +139,7 @@ void P2_Clip::CacheClipContent()
 		p2Offset= p2node->GetNamedElement ( p2NameSpace, "GlobalShotID" );
 		GetElementLocation(p2Offset,headContent.shotId );
 		XML_NodePtr p2connection= p2node->GetNamedElement ( p2NameSpace, "Connection" );
-		if ( p2node != 0 )
+		if ( p2connection != 0 )
 		{
 			p2node= p2connection->GetNamedElement ( p2NameSpace, "Top" );
 			if ( p2node != 0 )
