OpenEXR 3.2.7__tar.gz → 3.2.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openexr-3.2.7 → openexr-3.2.9}/CHANGES.md +42 -0
- {openexr-3.2.7 → openexr-3.2.9}/PKG-INFO +1 -1
- openexr-3.2.9/SECURITY.md +200 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifest.cpp +14 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_compressor.h +15 -3
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_version.h +1 -1
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +21 -1
- openexr-3.2.7/SECURITY.md +0 -177
- {openexr-3.2.7 → openexr-3.2.9}/.bazelversion +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/.clang-format +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/.git-blame-ignore-revs +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/.gitignore +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/.mailmap +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/.readthedocs.yml +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/BUILD.bazel +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/CODEOWNERS +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/CODE_OF_CONDUCT.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/CONTRIBUTING.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/CONTRIBUTORS.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/AUTHORS +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/ChangeLog +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/Makefile.test +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/README +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/bootstrap +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/configure.ac +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/GOVERNANCE.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/LICENSE.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/MODULE.bazel +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/PATENTS +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/README.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/WORKSPACE.bazel +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/FindPythonPackage.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/FindSphinx.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/IexConfig.h.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/IexConfigInternal.h.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/IlmThreadConfig.h.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/JoinPaths.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/LibraryDefine.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXR.pc.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfig.cmake.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfig.h.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfigInternal.h.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRLibraryDefine.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRSetup.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/SampleCTestScript.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/Toolchain-mingw.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/clang-format.cmake +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/cmake/cmake_uninstall.cmake.in +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/docs/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/pyproject.toml +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/sonar-project.properties +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exr2aces/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exr2aces/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrcheck/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrcheck/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/EnvmapImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/blurImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/blurImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeCubeMap.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/namespaceAlias.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/readInputImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/readInputImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/resizeImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/resizeImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrheader/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrheader/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrinfo/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrinfo/main.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/makePreview.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/makePreview.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/Image.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/Image.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/makeTiled.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmanifest/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmanifest/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultipart/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/Image.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/Image.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/makeMultiView.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/namespaceAlias.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrstdattr/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrstdattr/main.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/.gitignore +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/Iex.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexBaseExc.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexBaseExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexErrnoExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexExport.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexForward.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMacros.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFloatExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFpu.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFpu.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathIeeeExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexNamespace.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThread.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThread.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadExport.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadForward.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadPool.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfArray.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelList.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompression.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfConvert.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressorSimd.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfExport.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfForward.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHeader.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHuf.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIO.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIO.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInt64.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLut.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLut.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMisc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiView.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfName.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfNamespace.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartType.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPixelType.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRational.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRational.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgba.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRle.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRle.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSimd.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStdIO.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTestFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfThreading.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVersion.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfWav.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfWav.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfXdr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZip.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZip.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/b44ExpLogTable.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/dwaLookups.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/attributes.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/base.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/channel_list.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/chunk.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/coding.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/compression.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/context.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/debug.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/decoding.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/encoding.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/float_vector.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_attr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_b44.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_coding.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_compress.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_constants.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_decoder.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_encoder.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_file.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_huf.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_huf.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_memory.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_piz.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_preview.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_rle.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_string.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_structs.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_structs.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_util.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_zip.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/memory.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/opaque.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_base.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_config.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_context.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_part.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/pack.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/parse_header.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/part.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/part_attr.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/preview.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/std_attr.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/string.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/string_vector.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/unpack.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/validation.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/write_header.c +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImage.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/README +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/CMakeLists.txt +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/Imath.py +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/OpenEXR.cpp +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/README.md +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/tests/test_minimal.py +0 -0
- {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/tests/test_unittest.py +0 -0
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
# OpenEXR Release Notes
|
|
5
5
|
|
|
6
|
+
* [Version 3.2.9](#version-329-april-29-2026) April 29, 2026
|
|
7
|
+
* [Version 3.2.8](#version-328-april-17-2026) April 17, 2026
|
|
6
8
|
* [Version 3.2.7](#version-327-april-3-2026) April 3, 2026
|
|
7
9
|
* [Version 3.2.6](#version-326-february-26-2026) February 26, 2026
|
|
8
10
|
* [Version 3.2.5](#version-325-november-4-2025) November 4, 2025
|
|
@@ -77,6 +79,46 @@
|
|
|
77
79
|
* [Version 1.0.1](#version-101)
|
|
78
80
|
* [Version 1.0](#version-10)
|
|
79
81
|
|
|
82
|
+
## Version 3.2.9 (April 29, 2026)
|
|
83
|
+
|
|
84
|
+
Patch release for 3.2 that addresses the following security
|
|
85
|
+
vulnerabilities:
|
|
86
|
+
|
|
87
|
+
* [CVE-2026-42217](https://www.cve.org/CVERecord?id=CVE-2026-42217)
|
|
88
|
+
Shift exponent overflow in `readVariableLengthInteger()` (`ImfIDManifest.cpp`)
|
|
89
|
+
* [CVE-2026-42216](https://www.cve.org/CVERecord?id=CVE-2026-42216)
|
|
90
|
+
Out-of-bounds read in `IDManifest::init()` during prefix expansion
|
|
91
|
+
* [CVE-2026-41142](https://www.cve.org/CVERecord?id=CVE-2026-41142)
|
|
92
|
+
Integer overflow in `ImageChannel::resize` leads to heap OOB write via OpenEXRUtil public API
|
|
93
|
+
|
|
94
|
+
Also:
|
|
95
|
+
|
|
96
|
+
* OSS-fuzz [504280155](https://issues.oss-fuzz.com/issues/504280155)
|
|
97
|
+
Heap-buffer-overflow in `DwaCompressor_uncompress`
|
|
98
|
+
|
|
99
|
+
### Merged Pull Requests
|
|
100
|
+
|
|
101
|
+
* [2383](https://github.com/AcademySoftwareFoundation/openexr/pull/2383)
|
|
102
|
+
validate that the uncompressed sizes recorded in the dwa header are valid
|
|
103
|
+
* [2378](https://github.com/AcademySoftwareFoundation/openexr/pull/2378)
|
|
104
|
+
Harden IDManifest parsing against illegal shift and string prefix OOB
|
|
105
|
+
* [2377](https://github.com/AcademySoftwareFoundation/openexr/pull/2377)
|
|
106
|
+
Fix OOB read when expanding IDManifest prefix-compressed strings
|
|
107
|
+
* [2367](https://github.com/AcademySoftwareFoundation/openexr/pull/2367)
|
|
108
|
+
Fix int overflow in ImageChannel::resize pixel count
|
|
109
|
+
|
|
110
|
+
## Version 3.2.8 (April 17, 2026)
|
|
111
|
+
|
|
112
|
+
Patch release that addresses the following security vulnerabilities:
|
|
113
|
+
|
|
114
|
+
* [CVE-2026-40244](https://www.cve.org/CVERecord?id=CVE-2026-40244) Integer overflow in DWA setupChannelData planarUncRle pointer arithmetic (missed variant of CVE-2026-34589)
|
|
115
|
+
* [CVE-2026-40250](https://www.cve.org/CVERecord?id=CVE-2026-40250) Integer overflow in DWA decoder outBufferEnd pointer arithmetic (missed variant of CVE-2026-34589)
|
|
116
|
+
|
|
117
|
+
### Merged Pull Requests
|
|
118
|
+
|
|
119
|
+
* [2346](https://github.com/AcademySoftwareFoundation/openexr/pull/2346)
|
|
120
|
+
Fix integer overflow in internal_dwa_compressor.h
|
|
121
|
+
|
|
80
122
|
## Version 3.2.7 (April 3, 2026)
|
|
81
123
|
|
|
82
124
|
Patch release for v3.2 that addresses the following security vulnerabilities:
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
<!-- SPDX-License-Identifier: BSD-3-Clause -->
|
|
2
|
+
<!-- Copyright (c) Contributors to the OpenEXR Project -->
|
|
3
|
+
|
|
4
|
+
# Security Policy
|
|
5
|
+
|
|
6
|
+
## Reporting a Vulnerability
|
|
7
|
+
|
|
8
|
+
If you think you've found a potential vulnerability in OpenEXR, please
|
|
9
|
+
report it by filing a GitHub [security
|
|
10
|
+
advisory](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/new). Alternatively,
|
|
11
|
+
email security@openexr.com and provide your contact info for further
|
|
12
|
+
private/secure discussion. If your email does not receive a prompt
|
|
13
|
+
acknowledgement, your address may be blocked.
|
|
14
|
+
|
|
15
|
+
Our policy is to acknowledge the receipt of vulnerability reports
|
|
16
|
+
within 48 hours. Our policy is to address critical security vulnerabilities
|
|
17
|
+
rapidly and post patches within 14 days if possible.
|
|
18
|
+
|
|
19
|
+
## Known Vulnerabilities
|
|
20
|
+
|
|
21
|
+
| CVE | Affected Versions | Patched Versions |
|
|
22
|
+
| --- | ----------------- | ---------------- |
|
|
23
|
+
| [CVE-2026-40250](https://www.cve.org/CVERecord?id=CVE-2026-40250) | 3.2.0–3.2.7, 3.3.0–3.3.9, 3.4.0–3.4.9 | 3.2.8, 3.3.10, 3.4.10 |
|
|
24
|
+
| [CVE-2026-40244](https://www.cve.org/CVERecord?id=CVE-2026-40244) | 3.2.0–3.2.7, 3.3.0–3.3.9, 3.4.0–3.4.9 | 3.2.8, 3.3.10, 3.4.10 |
|
|
25
|
+
| [CVE-2026-39886](https://www.cve.org/CVERecord?id=CVE-2026-39886) | 3.4.0–3.4.8 | 3.4.10 |
|
|
26
|
+
| [CVE-2026-34589](https://www.cve.org/CVERecord?id=CVE-2026-34589) | 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.8 | 3.2.7, 3.3.9, 3.4.9 |
|
|
27
|
+
| [CVE-2026-34588](https://www.cve.org/CVERecord?id=CVE-2026-34588) | 3.1.x, 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.8 | 3.2.7, 3.3.9, 3.4.9 |
|
|
28
|
+
| [CVE-2026-34545](https://www.cve.org/CVERecord?id=CVE-2026-34545) | 3.4.0–3.4.6 | 3.4.7 |
|
|
29
|
+
| [CVE-2026-34544](https://www.cve.org/CVERecord?id=CVE-2026-34544) | 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.7 | 3.2.7, 3.3.9, 3.4.8 |
|
|
30
|
+
| [CVE-2026-34543](https://www.cve.org/CVERecord?id=CVE-2026-34543) | 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.7 | 3.2.7, 3.3.9, 3.4.8 |
|
|
31
|
+
| [CVE-2026-34380](https://www.cve.org/CVERecord?id=CVE-2026-34380) | 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.8 | 3.2.7, 3.3.9, 3.4.9 |
|
|
32
|
+
| [CVE-2026-34379](https://www.cve.org/CVERecord?id=CVE-2026-34379) | 3.2.0–3.2.6, 3.3.0–3.3.8, 3.4.0–3.4.8 | 3.2.7, 3.3.9, 3.4.9 |
|
|
33
|
+
| [CVE-2026-34378](https://www.cve.org/CVERecord?id=CVE-2026-34378) | 3.4.0–3.4.8 | 3.4.9 |
|
|
34
|
+
| [CVE-2026-27622](https://www.cve.org/CVERecord?id=CVE-2026-27622) | 2.x, 3.0.x, 3.1.x, 3.2.0–3.2.5, 3.3.0–3.3.7, 3.4.0–3.4.5 | 3.2.6, 3.3.8, 3.4.6 |
|
|
35
|
+
| [CVE-2026-26981](https://www.cve.org/CVERecord?id=CVE-2026-26981) | 3.3.0–3.3.6, 3.4.0–3.4.4 | 3.3.7, 3.4.5 |
|
|
36
|
+
| [CVE-2025-64183](https://www.cve.org/CVERecord?id=CVE-2025-64183) | 3.2.0–3.2.4, 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.2.5, 3.3.6, 3.4.3 |
|
|
37
|
+
| [CVE-2025-64182](https://www.cve.org/CVERecord?id=CVE-2025-64182) | 3.2.0–3.2.4, 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.2.5, 3.3.6, 3.4.3 |
|
|
38
|
+
| [CVE-2025-64181](https://www.cve.org/CVERecord?id=CVE-2025-64181) | 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.3.6, 3.4.3 |
|
|
39
|
+
| [CVE-2025-48074](https://www.cve.org/CVERecord?id=CVE-2025-48074) | 3.3.2 | 3.3.3 |
|
|
40
|
+
| [CVE-2025-48073](https://www.cve.org/CVERecord?id=CVE-2025-48073) | 3.3.2 | 3.3.3 |
|
|
41
|
+
| [CVE-2025-48072](https://www.cve.org/CVERecord?id=CVE-2025-48072) | 3.3.2 | 3.3.3 |
|
|
42
|
+
| [CVE-2025-48071](https://www.cve.org/CVERecord?id=CVE-2025-48071) | 3.3.0–3.3.2 | 3.3.3 |
|
|
43
|
+
| [CVE-2025-12840](https://www.cve.org/CVERecord?id=CVE-2025-12840) | 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.3.6, 3.4.3 |
|
|
44
|
+
| [CVE-2025-12839](https://www.cve.org/CVERecord?id=CVE-2025-12839) | 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.3.6, 3.4.3 |
|
|
45
|
+
| [CVE-2025-12495](https://www.cve.org/CVERecord?id=CVE-2025-12495) | 3.3.0–3.3.5, 3.4.0–3.4.2 | 3.3.6, 3.4.3 |
|
|
46
|
+
| [CVE-2023-5841](https://nvd.nist.gov/vuln/detail/CVE-2023-5841) | 3.1.0–3.1.11, 3.2.0–3.2.1 | 3.2.2 |
|
|
47
|
+
| [CVE-2021-45942](https://nvd.nist.gov/vuln/detail/CVE-2021-45942) | 3.1.0–3.1.3 | 3.1.4 |
|
|
48
|
+
| [CVE-2021-20296](https://nvd.nist.gov/vuln/detail/CVE-2021-20296) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
49
|
+
| [CVE-2021-3479](https://nvd.nist.gov/vuln/detail/CVE-2021-3479) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
50
|
+
| [CVE-2021-3478](https://nvd.nist.gov/vuln/detail/CVE-2021-3478) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
51
|
+
| [CVE-2021-3477](https://nvd.nist.gov/vuln/detail/CVE-2021-3477) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
52
|
+
| [CVE-2021-3476](https://nvd.nist.gov/vuln/detail/CVE-2021-3476) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
53
|
+
| [CVE-2021-3475](https://nvd.nist.gov/vuln/detail/CVE-2021-3475) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
54
|
+
| [CVE-2021-3474](https://nvd.nist.gov/vuln/detail/CVE-2021-3474) | 2.4.0–2.4.2, 2.5.0–2.5.3 | 2.4.3, 2.5.4 |
|
|
55
|
+
| [CVE-2020-16589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16589) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0 | 2.4.0 |
|
|
56
|
+
| [CVE-2020-16588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16588) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0 | 2.4.0 |
|
|
57
|
+
| [CVE-2020-16587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16587) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0 | 2.4.0 |
|
|
58
|
+
| [CVE-2020-15306](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15306) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0–2.4.1, 2.5.0–2.5.1 | 2.5.2 |
|
|
59
|
+
| [CVE-2020-15305](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15305) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0–2.4.1, 2.5.0–2.5.1 | 2.5.2 |
|
|
60
|
+
| [CVE-2020-15304](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15304) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0–2.4.1, 2.5.0–2.5.1 | 2.5.2 |
|
|
61
|
+
| [CVE-2020-11765](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11765) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
62
|
+
| [CVE-2020-11764](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11764) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
63
|
+
| [CVE-2020-11763](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11763) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
64
|
+
| [CVE-2020-11762](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11762) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
65
|
+
| [CVE-2020-11761](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11761) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
66
|
+
| [CVE-2020-11760](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11760) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
67
|
+
| [CVE-2020-11759](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11759) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
68
|
+
| [CVE-2020-11758](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11758) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0, 2.4.0 | 2.4.1 |
|
|
69
|
+
| [CVE-2018-18444](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18444) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0 | 2.4.0 |
|
|
70
|
+
| [CVE-2018-18443](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18443) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1, 2.3.0 | 2.4.0 |
|
|
71
|
+
| [CVE-2017-9116](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9116) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
72
|
+
| [CVE-2017-9115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9115) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
73
|
+
| [CVE-2017-9114](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9114) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
74
|
+
| [CVE-2017-9113](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9113) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
75
|
+
| [CVE-2017-9112](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9112) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
76
|
+
| [CVE-2017-9111](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9111) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
77
|
+
| [CVE-2017-9110](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9110) | 2.0.0–2.0.1, 2.1.0, 2.2.0 | 2.2.1 |
|
|
78
|
+
| [CVE-2017-12596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12596) | 2.0.0–2.0.1, 2.1.0, 2.2.0–2.2.1 | 2.3.0 |
|
|
79
|
+
| [CVE-2009-1722](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1722) | 1.0.x, 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x, 1.6.x | 1.7.0 |
|
|
80
|
+
| [CVE-2009-1721](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1721) | 1.0.x, 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x, 1.6.x | 1.7.0 |
|
|
81
|
+
| [CVE-2009-1720](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1720) | 1.0.x, 1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.x, 1.6.x | 1.7.0 |
|
|
82
|
+
|
|
83
|
+
See the [release notes](CHANGES.md) for more information.
|
|
84
|
+
|
|
85
|
+
## Supported Versions
|
|
86
|
+
|
|
87
|
+
This gives guidance about which branches are supported with patches to
|
|
88
|
+
security vulnerabilities.
|
|
89
|
+
|
|
90
|
+
| Version / branch | Supported |
|
|
91
|
+
| --------- | ---------------------------------------------------- |
|
|
92
|
+
| main | :white_check_mark: :construction: ALL fixes immediately, but this is a branch under development with a frequently unstable ABI and occasionally unstable API. |
|
|
93
|
+
| 3.2.x | :white_check_mark: All fixes that can be backported without breaking ABI compatibility. |
|
|
94
|
+
| 3.1.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
95
|
+
| 3.0.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
96
|
+
| 2.5.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
97
|
+
| <= 1.x | :x: No longer receiving patches of any kind. |
|
|
98
|
+
|
|
99
|
+
## Signed Releases
|
|
100
|
+
|
|
101
|
+
Releases artifacts are signed via
|
|
102
|
+
[sigstore](https://www.sigstore.dev). See
|
|
103
|
+
[release-sign.yml](.github/workflows/release-sign.yml) for details.
|
|
104
|
+
|
|
105
|
+
To verify a downloaded release at a given tag:
|
|
106
|
+
|
|
107
|
+
% pip install sigstore
|
|
108
|
+
% sigstore verify github --cert-identity https://github.com/AcademySoftwareFoundation/openexr/.github/workflows/release-sign.yml@refs/tags/<tag> openexr-<tag>.tar.gz
|
|
109
|
+
|
|
110
|
+
## Security Expectations
|
|
111
|
+
|
|
112
|
+
### Software Features
|
|
113
|
+
|
|
114
|
+
- The OpenEXR project implements the EXR image file format, used
|
|
115
|
+
throughout the motion picture industry and beyond, on Linux, macOS,
|
|
116
|
+
and Windows.
|
|
117
|
+
|
|
118
|
+
- The project consists of a software run-time library, implemented in
|
|
119
|
+
C/C++ and built via cmake, that reads and writes image data
|
|
120
|
+
files. The project also distributes python wrappings for the C/C++
|
|
121
|
+
I/O API.
|
|
122
|
+
|
|
123
|
+
- The library reads and writes binary image data and text-based
|
|
124
|
+
metadata, treated as blind data, none of which is executable code.
|
|
125
|
+
|
|
126
|
+
- Other than the website and online technical documentation, the
|
|
127
|
+
project implements no web/online services or network communication
|
|
128
|
+
protocols. The library never requests any security or
|
|
129
|
+
authentication credentials or login information from users.
|
|
130
|
+
|
|
131
|
+
The website implements no interactive features and requires no login
|
|
132
|
+
credentials.
|
|
133
|
+
|
|
134
|
+
- The library reads and writes only to file paths specificly requested
|
|
135
|
+
via the C/C++ API. The runtime library uses no system configuration
|
|
136
|
+
files or sidecar data files. Access to data files uses only standard
|
|
137
|
+
file I/O system calls.
|
|
138
|
+
|
|
139
|
+
- The library compresses/decompresses data via standard compression
|
|
140
|
+
algorithms but uses no cryptographic or confidentiality protocols.
|
|
141
|
+
|
|
142
|
+
### Software Dependencies
|
|
143
|
+
|
|
144
|
+
OpenEXR depends on
|
|
145
|
+
[Imath](https://github.com/AcademySoftwareFoundation/Imath), a library
|
|
146
|
+
of basic math operations also maintained and distributed by the
|
|
147
|
+
OpenEXR project. Imath follows the same security conventions
|
|
148
|
+
documented here for OpenEXR itself. The core Imath library has no
|
|
149
|
+
external dependencies. The Imath python bindings depend on python and
|
|
150
|
+
boost.
|
|
151
|
+
|
|
152
|
+
The only
|
|
153
|
+
external library dependency of OpenEXR is
|
|
154
|
+
[libdeflate](https://github.com/ebiggers/libdeflate), which implements
|
|
155
|
+
standard deflate/zlib/gzip compression and decompression.
|
|
156
|
+
|
|
157
|
+
The project uses
|
|
158
|
+
[Snyk](https://github.com/AcademySoftwareFoundation/openexr/blob/main/.github/workflows/snyk-scan-pr.yml)
|
|
159
|
+
to scan for dependency vulnerability.
|
|
160
|
+
|
|
161
|
+
### Potential Vulnerabilities
|
|
162
|
+
|
|
163
|
+
Potential entry points are images being loaded using the
|
|
164
|
+
library. Malformed images could caused issues such as heap buffer
|
|
165
|
+
overflows, out-of-memory faults, or segmentation faults that could be
|
|
166
|
+
exploitable as denial-of-service attacks.
|
|
167
|
+
|
|
168
|
+
### Hardening
|
|
169
|
+
|
|
170
|
+
#### Testing
|
|
171
|
+
|
|
172
|
+
The OpenEXR project implements a comprehensive suite of validation
|
|
173
|
+
tests, including fuzz testing to harden against malicious input
|
|
174
|
+
data. Note that fuzz testing hardens only against *small* input data
|
|
175
|
+
files and is not a comprehensive test against all potential input.
|
|
176
|
+
|
|
177
|
+
Note that the
|
|
178
|
+
[exrcheck](https://github.com/AcademySoftwareFoundation/openexr/tree/main/src/bin/exrcheck)
|
|
179
|
+
utility is intended to be used by testers to demonstrate a particular
|
|
180
|
+
proof-of-concept input file exposes a vulnerability, and it is very
|
|
181
|
+
helpful to let us know if a vulnerability can be reproduced using that
|
|
182
|
+
tool.
|
|
183
|
+
|
|
184
|
+
The project also uses the [OSS
|
|
185
|
+
Fuzz](https://bugs.chromium.org/p/oss-fuzz) service for continuous
|
|
186
|
+
fuzz testing.
|
|
187
|
+
|
|
188
|
+
#### Development Cycle and Distribution
|
|
189
|
+
|
|
190
|
+
OpenEXR is downloadable and buildable by C/C++ source via GitHub. Only
|
|
191
|
+
members of the project's Technical Steering Committee, all veteran
|
|
192
|
+
software engineers at major motion picture studios or vendors, have
|
|
193
|
+
write permissions on the source code repository. All critical software
|
|
194
|
+
changes are reviewed by multiple TSC members.
|
|
195
|
+
|
|
196
|
+
The library is distributed in binary form via many common package
|
|
197
|
+
managers across all platforms.
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
@@ -115,6 +115,13 @@ readVariableLengthInteger (const char*& readPtr, const char* endPtr)
|
|
|
115
115
|
throw IEX_NAMESPACE::InputExc (
|
|
116
116
|
"IDManifest too small for variable length integer");
|
|
117
117
|
}
|
|
118
|
+
// Each chunk contributes at most 7 bits; shifts must stay < 64 or
|
|
119
|
+
// (byte & 127) << shift has undefined behavior (C++).
|
|
120
|
+
if (shift >= 64)
|
|
121
|
+
{
|
|
122
|
+
throw IEX_NAMESPACE::InputExc (
|
|
123
|
+
"Invalid variable-length integer in IDManifest");
|
|
124
|
+
}
|
|
118
125
|
byte = *(unsigned char*) readPtr++;
|
|
119
126
|
// top bit of byte isn't part of actual number, it just indicates there's more info to come
|
|
120
127
|
// so take bottom 7 bits, shift them to the right place, and insert them
|
|
@@ -337,6 +344,13 @@ IDManifest::init (const char* data, const char* endOfData)
|
|
|
337
344
|
//
|
|
338
345
|
// previous string had more than 255 characters?
|
|
339
346
|
//
|
|
347
|
+
const size_t minPrefixLen =
|
|
348
|
+
stringList[i - 1].size () > 255 ? size_t (2) : size_t (1);
|
|
349
|
+
if (stringList[i].size () < minPrefixLen)
|
|
350
|
+
{
|
|
351
|
+
throw IEX_NAMESPACE::InputExc (
|
|
352
|
+
"IDManifest string too small for common prefix length");
|
|
353
|
+
}
|
|
340
354
|
if (stringList[i - 1].size () > 255)
|
|
341
355
|
{
|
|
342
356
|
common = size_t (((unsigned char) (stringList[i][0])) << 8) +
|
|
@@ -769,6 +769,17 @@ DwaCompressor_uncompress (
|
|
|
769
769
|
return EXR_ERR_CORRUPT_CHUNK;
|
|
770
770
|
}
|
|
771
771
|
|
|
772
|
+
/* check for overflow conditions in the unc sizes, corrupt file no
|
|
773
|
+
need to check the rleUncompressedSize, the zipped rle data will
|
|
774
|
+
be checked below */
|
|
775
|
+
if (unknownUncompressedSize > uncompressed_size ||
|
|
776
|
+
rleRawSize > uncompressed_size ||
|
|
777
|
+
(unknownUncompressedSize + rleRawSize) > uncompressed_size ||
|
|
778
|
+
totalAcUncompressedCount > uncompressed_size)
|
|
779
|
+
{
|
|
780
|
+
return EXR_ERR_CORRUPT_CHUNK;
|
|
781
|
+
}
|
|
782
|
+
|
|
772
783
|
if ((int64_t) unknownUncompressedSize < 0 ||
|
|
773
784
|
(int64_t) unknownCompressedSize < 0 || (int64_t) acCompressedSize < 0 ||
|
|
774
785
|
(int64_t) dcCompressedSize < 0 || (int64_t) rleCompressedSize < 0 ||
|
|
@@ -1039,7 +1050,8 @@ DwaCompressor_uncompress (
|
|
|
1039
1050
|
if (rv != EXR_ERR_SUCCESS) return rv;
|
|
1040
1051
|
|
|
1041
1052
|
cd->_dctData._type = chan->data_type;
|
|
1042
|
-
outBufferEnd +=
|
|
1053
|
+
outBufferEnd +=
|
|
1054
|
+
(size_t) chan->width * (size_t) chan->bytes_per_element;
|
|
1043
1055
|
}
|
|
1044
1056
|
}
|
|
1045
1057
|
|
|
@@ -1711,8 +1723,8 @@ DwaCompressor_setupChannelData (DwaCompressor* me)
|
|
|
1711
1723
|
{
|
|
1712
1724
|
for (int byte = 1; byte < curc->bytes_per_element; ++byte)
|
|
1713
1725
|
{
|
|
1714
|
-
cd->planarUncRle[byte] =
|
|
1715
|
-
|
|
1726
|
+
cd->planarUncRle[byte] = cd->planarUncRle[byte - 1] +
|
|
1727
|
+
(size_t) curc->width * (size_t) curc->height;
|
|
1716
1728
|
|
|
1717
1729
|
cd->planarUncRleEnd[byte] = cd->planarUncRle[byte];
|
|
1718
1730
|
}
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
#include "ImfImageLevel.h"
|
|
14
14
|
#include <Iex.h>
|
|
15
15
|
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
#include <limits>
|
|
18
|
+
|
|
16
19
|
using namespace IMATH_NAMESPACE;
|
|
17
20
|
using namespace IEX_NAMESPACE;
|
|
18
21
|
using namespace std;
|
|
@@ -46,6 +49,13 @@ ImageChannel::channel () const
|
|
|
46
49
|
void
|
|
47
50
|
ImageChannel::resize ()
|
|
48
51
|
{
|
|
52
|
+
if (_xSampling < 1 || _ySampling < 1)
|
|
53
|
+
{
|
|
54
|
+
throw ArgExc (
|
|
55
|
+
"The x and y sampling rates for an image channel must be at "
|
|
56
|
+
"least 1.");
|
|
57
|
+
}
|
|
58
|
+
|
|
49
59
|
const Box2i& dataWindow = level ().dataWindow ();
|
|
50
60
|
|
|
51
61
|
if (dataWindow.min.x % _xSampling || dataWindow.min.y % _ySampling)
|
|
@@ -67,7 +77,17 @@ ImageChannel::resize ()
|
|
|
67
77
|
|
|
68
78
|
_pixelsPerRow = width / _xSampling;
|
|
69
79
|
_pixelsPerColumn = height / _ySampling;
|
|
70
|
-
|
|
80
|
+
|
|
81
|
+
const uint64_t w64 = static_cast<uint64_t> (_pixelsPerRow);
|
|
82
|
+
const uint64_t h64 = static_cast<uint64_t> (_pixelsPerColumn);
|
|
83
|
+
const uint64_t maxPixels =
|
|
84
|
+
static_cast<uint64_t> (std::numeric_limits<size_t>::max ());
|
|
85
|
+
if (w64 != 0 && h64 > maxPixels / w64)
|
|
86
|
+
{
|
|
87
|
+
throw ArgExc ("Image channel dimensions too large.");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
_numPixels = static_cast<size_t> (w64 * h64);
|
|
71
91
|
}
|
|
72
92
|
|
|
73
93
|
void
|
openexr-3.2.7/SECURITY.md
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
<!-- SPDX-License-Identifier: BSD-3-Clause -->
|
|
2
|
-
<!-- Copyright (c) Contributors to the OpenEXR Project -->
|
|
3
|
-
|
|
4
|
-
# Security Policy
|
|
5
|
-
|
|
6
|
-
## Reporting a Vulnerability
|
|
7
|
-
|
|
8
|
-
If you think you've found a potential vulnerability in OpenEXR, please
|
|
9
|
-
report it by filing a GitHub [security
|
|
10
|
-
advisory](https://github.com/AcademySoftwareFoundation/openexr/security/advisories/new). Alternatively,
|
|
11
|
-
email security@openexr.com and provide your contact info for further
|
|
12
|
-
private/secure discussion. If your email does not receive a prompt
|
|
13
|
-
acknowledgement, your address may be blocked.
|
|
14
|
-
|
|
15
|
-
Our policy is to acknowledge the receipt of vulnerability reports
|
|
16
|
-
within 48 hours. Our policy is to address critical security vulnerabilities
|
|
17
|
-
rapidly and post patches within 14 days if possible.
|
|
18
|
-
|
|
19
|
-
## Known Vulnerabilities
|
|
20
|
-
|
|
21
|
-
These vulnerabilities are present in the given versions:
|
|
22
|
-
|
|
23
|
-
* [CVE-2023-5841](https://takeonme.org/cves/CVE-2023-5841.html) 3.1.0, 3.1.1, 3.1.2, 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.1.10 3.1.11 3.2.0 3.2.1
|
|
24
|
-
* [CVE-2021-45942](https://nvd.nist.gov/vuln/detail/CVE-2021-45942) 3.1.0, 3.1.1, 3.1.2, 3.1.3
|
|
25
|
-
* [CVE-2021-20296](https://nvd.nist.gov/vuln/detail/CVE-2021-20296) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
26
|
-
* [CVE-2021-3479](https://nvd.nist.gov/vuln/detail/CVE-2021-3479) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
27
|
-
* [CVE-2021-3478](https://nvd.nist.gov/vuln/detail/CVE-2021-3478) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
28
|
-
* [CVE-2021-3477](https://nvd.nist.gov/vuln/detail/CVE-2021-3477) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
29
|
-
* [CVE-2021-3476](https://nvd.nist.gov/vuln/detail/CVE-2021-3476) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
30
|
-
* [CVE-2021-3475](https://nvd.nist.gov/vuln/detail/CVE-2021-3475) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
31
|
-
* [CVE-2021-3474](https://nvd.nist.gov/vuln/detail/CVE-2021-3474) 2.4.0, 2.4.1, 2.4.2, 2.5.0, 2.5.1, 2.5.2, 2.5.3
|
|
32
|
-
* [CVE-2020-16589](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16589) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
33
|
-
* [CVE-2020-16588](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16588) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
34
|
-
* [CVE-2020-16587](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-16587) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
35
|
-
* [CVE-2020-15306](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15306) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.5.0, 2.5.1
|
|
36
|
-
* [CVE-2020-15305](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15305) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.5.0, 2.5.1
|
|
37
|
-
* [CVE-2020-15304](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15304) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.5.0, 2.5.1
|
|
38
|
-
* [CVE-2020-11765](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11765) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
39
|
-
* [CVE-2020-11764](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11764) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
40
|
-
* [CVE-2020-11763](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11763) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
41
|
-
* [CVE-2020-11762](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11762) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
42
|
-
* [CVE-2020-11761](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11761) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
43
|
-
* [CVE-2020-11760](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11760) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
44
|
-
* [CVE-2020-11759](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11759) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
45
|
-
* [CVE-2020-11758](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-11758) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0, 2.4.0
|
|
46
|
-
* [CVE-2018-18444](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18444) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
47
|
-
* [CVE-2018-18443](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-18443) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
48
|
-
* [CVE-2017-9116](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9116) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
49
|
-
* [CVE-2017-9115](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9115) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
50
|
-
* [CVE-2017-9114](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9114) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
51
|
-
* [CVE-2017-9113](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9113) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
52
|
-
* [CVE-2017-9112](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9112) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
53
|
-
* [CVE-2017-9111](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9111) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
54
|
-
* [CVE-2017-9110](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9110) 2.0.0, 2.0.1, 2.1.0, 2.2.0
|
|
55
|
-
* [CVE-2017-12596](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12596) 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.1, 2.3.0
|
|
56
|
-
* [CVE-2009-1722](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1722) 1.0.*, 1.1.*, 1.2.*, 1.3.*, 1.4.*, 1.5.*, 1.6.*
|
|
57
|
-
* [CVE-2009-1721](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1721) 1.0.*, 1.1.*, 1.2.*, 1.3.*, 1.4.*, 1.5.*, 1.6.*
|
|
58
|
-
* [CVE-2009-1720](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1720) 1.0.*, 1.1.*, 1.2.*, 1.3.*, 1.4.*, 1.5.*, 1.6.*
|
|
59
|
-
|
|
60
|
-
See the [release notes](CHANGES.md) for more information.
|
|
61
|
-
|
|
62
|
-
## Supported Versions
|
|
63
|
-
|
|
64
|
-
This gives guidance about which branches are supported with patches to
|
|
65
|
-
security vulnerabilities.
|
|
66
|
-
|
|
67
|
-
| Version / branch | Supported |
|
|
68
|
-
| --------- | ---------------------------------------------------- |
|
|
69
|
-
| main | :white_check_mark: :construction: ALL fixes immediately, but this is a branch under development with a frequently unstable ABI and occasionally unstable API. |
|
|
70
|
-
| 3.2.x | :white_check_mark: All fixes that can be backported without breaking ABI compatibility. |
|
|
71
|
-
| 3.1.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
72
|
-
| 3.0.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
73
|
-
| 2.5.x | :warning: Only the most critical fixes, only if they can be easily backported. |
|
|
74
|
-
| <= 1.x | :x: No longer receiving patches of any kind. |
|
|
75
|
-
|
|
76
|
-
## Signed Releases
|
|
77
|
-
|
|
78
|
-
Releases artifacts are signed via
|
|
79
|
-
[sigstore](https://www.sigstore.dev). See
|
|
80
|
-
[release-sign.yml](.github/workflows/release-sign.yml) for details.
|
|
81
|
-
|
|
82
|
-
To verify a downloaded release at a given tag:
|
|
83
|
-
|
|
84
|
-
% pip install sigstore
|
|
85
|
-
% sigstore verify github --cert-identity https://github.com/AcademySoftwareFoundation/openexr/.github/workflows/release-sign.yml@refs/tags/<tag> openexr-<tag>.tar.gz
|
|
86
|
-
|
|
87
|
-
## Security Expectations
|
|
88
|
-
|
|
89
|
-
### Software Features
|
|
90
|
-
|
|
91
|
-
- The OpenEXR project implements the EXR image file format, used
|
|
92
|
-
throughout the motion picture industry and beyond, on Linux, macOS,
|
|
93
|
-
and Windows.
|
|
94
|
-
|
|
95
|
-
- The project consists of a software run-time library, implemented in
|
|
96
|
-
C/C++ and built via cmake, that reads and writes image data
|
|
97
|
-
files. The project also distributes python wrappings for the C/C++
|
|
98
|
-
I/O API.
|
|
99
|
-
|
|
100
|
-
- The library reads and writes binary image data and text-based
|
|
101
|
-
metadata, treated as blind data, none of which is executable code.
|
|
102
|
-
|
|
103
|
-
- Other than the website and online technical documentation, the
|
|
104
|
-
project implements no web/online services or network communication
|
|
105
|
-
protocols. The library never requests any security or
|
|
106
|
-
authentication credentials or login information from users.
|
|
107
|
-
|
|
108
|
-
The website implements no interactive features and requires no login
|
|
109
|
-
credentials.
|
|
110
|
-
|
|
111
|
-
- The library reads and writes only to file paths specificly requested
|
|
112
|
-
via the C/C++ API. The runtime library uses no system configuration
|
|
113
|
-
files or sidecar data files. Access to data files uses only standard
|
|
114
|
-
file I/O system calls.
|
|
115
|
-
|
|
116
|
-
- The library compresses/decompresses data via standard compression
|
|
117
|
-
algorithms but uses no cryptographic or confidentiality protocols.
|
|
118
|
-
|
|
119
|
-
### Software Dependencies
|
|
120
|
-
|
|
121
|
-
OpenEXR depends on
|
|
122
|
-
[Imath](https://github.com/AcademySoftwareFoundation/Imath), a library
|
|
123
|
-
of basic math operations also maintained and distributed by the
|
|
124
|
-
OpenEXR project. Imath follows the same security conventions
|
|
125
|
-
documented here for OpenEXR itself. The core Imath library has no
|
|
126
|
-
external dependencies. The Imath python bindings depend on python and
|
|
127
|
-
boost.
|
|
128
|
-
|
|
129
|
-
The only
|
|
130
|
-
external library dependency of OpenEXR is
|
|
131
|
-
[libdeflate](https://github.com/ebiggers/libdeflate), which implements
|
|
132
|
-
standard deflate/zlib/gzip compression and decompression.
|
|
133
|
-
|
|
134
|
-
The project uses
|
|
135
|
-
[Snyk](https://github.com/AcademySoftwareFoundation/openexr/blob/main/.github/workflows/snyk-scan-pr.yml)
|
|
136
|
-
to scan for dependency vulnerability.
|
|
137
|
-
|
|
138
|
-
### Potential Vulnerabilities
|
|
139
|
-
|
|
140
|
-
Potential entry points are images being loaded using the
|
|
141
|
-
library. Malformed images could caused issues such as heap buffer
|
|
142
|
-
overflows, out-of-memory faults, or segmentation faults that could be
|
|
143
|
-
exploitable as denial-of-service attacks.
|
|
144
|
-
|
|
145
|
-
### Hardening
|
|
146
|
-
|
|
147
|
-
#### Testing
|
|
148
|
-
|
|
149
|
-
The OpenEXR project implements a comprehensive suite of validation
|
|
150
|
-
tests, including fuzz testing to harden against malicious input
|
|
151
|
-
data. Note that fuzz testing hardens only against *small* input data
|
|
152
|
-
files and is not a comprehensive test against all potential input.
|
|
153
|
-
|
|
154
|
-
Note that the
|
|
155
|
-
[exrcheck](https://github.com/AcademySoftwareFoundation/openexr/tree/main/src/bin/exrcheck)
|
|
156
|
-
utility is intended to be used by testers to demonstrate a particular
|
|
157
|
-
proof-of-concept input file exposes a vulnerability, and it is very
|
|
158
|
-
helpful to let us know if a vulnerability can be reproduced using that
|
|
159
|
-
tool.
|
|
160
|
-
|
|
161
|
-
The project also uses the [OSS
|
|
162
|
-
Fuzz](https://bugs.chromium.org/p/oss-fuzz) service for continuous
|
|
163
|
-
fuzz testing.
|
|
164
|
-
|
|
165
|
-
#### Development Cycle and Distribution
|
|
166
|
-
|
|
167
|
-
OpenEXR is downloadable and buildable by C/C++ source via GitHub. Only
|
|
168
|
-
members of the project's Technical Steering Committee, all veteran
|
|
169
|
-
software engineers at major motion picture studios or vendors, have
|
|
170
|
-
write permissions on the source code repository. All critical software
|
|
171
|
-
changes are reviewed by multiple TSC members.
|
|
172
|
-
|
|
173
|
-
The library is distributed in binary form via many common package
|
|
174
|
-
managers across all platforms.
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|