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.
Files changed (473) hide show
  1. {openexr-3.2.7 → openexr-3.2.9}/CHANGES.md +42 -0
  2. {openexr-3.2.7 → openexr-3.2.9}/PKG-INFO +1 -1
  3. openexr-3.2.9/SECURITY.md +200 -0
  4. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifest.cpp +14 -0
  5. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_compressor.h +15 -3
  6. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_version.h +1 -1
  7. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannel.cpp +21 -1
  8. openexr-3.2.7/SECURITY.md +0 -177
  9. {openexr-3.2.7 → openexr-3.2.9}/.bazelversion +0 -0
  10. {openexr-3.2.7 → openexr-3.2.9}/.clang-format +0 -0
  11. {openexr-3.2.7 → openexr-3.2.9}/.git-blame-ignore-revs +0 -0
  12. {openexr-3.2.7 → openexr-3.2.9}/.gitignore +0 -0
  13. {openexr-3.2.7 → openexr-3.2.9}/.mailmap +0 -0
  14. {openexr-3.2.7 → openexr-3.2.9}/.readthedocs.yml +0 -0
  15. {openexr-3.2.7 → openexr-3.2.9}/BUILD.bazel +0 -0
  16. {openexr-3.2.7 → openexr-3.2.9}/CMakeLists.txt +0 -0
  17. {openexr-3.2.7 → openexr-3.2.9}/CODEOWNERS +0 -0
  18. {openexr-3.2.7 → openexr-3.2.9}/CODE_OF_CONDUCT.md +0 -0
  19. {openexr-3.2.7 → openexr-3.2.9}/CONTRIBUTING.md +0 -0
  20. {openexr-3.2.7 → openexr-3.2.9}/CONTRIBUTORS.md +0 -0
  21. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/AUTHORS +0 -0
  22. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/ChangeLog +0 -0
  23. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/DtexToExr.cpp +0 -0
  24. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/Makefile.test +0 -0
  25. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxBaseDeepHelper.h +0 -0
  26. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepOutPixel.h +0 -0
  27. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepOutRow.h +0 -0
  28. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepUtils.cpp +0 -0
  29. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxDeepUtils.h +0 -0
  30. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxFourChanDeepRgba.h +0 -0
  31. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxOneChanDeepAlpha.h +0 -0
  32. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/PxOneChanDeepOpacity.h +0 -0
  33. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/README +0 -0
  34. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/bootstrap +0 -0
  35. {openexr-3.2.7 → openexr-3.2.9}/Contrib/DtexToExr/configure.ac +0 -0
  36. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64-build.nuget.bat +0 -0
  37. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64.nuspec +0 -0
  38. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x64.targets +0 -0
  39. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86-build.nuget.bat +0 -0
  40. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86.nuspec +0 -0
  41. {openexr-3.2.7 → openexr-3.2.9}/Contrib/NuGet/OpenEXR-msvc-x86.targets +0 -0
  42. {openexr-3.2.7 → openexr-3.2.9}/GOVERNANCE.md +0 -0
  43. {openexr-3.2.7 → openexr-3.2.9}/LICENSE.md +0 -0
  44. {openexr-3.2.7 → openexr-3.2.9}/MODULE.bazel +0 -0
  45. {openexr-3.2.7 → openexr-3.2.9}/PATENTS +0 -0
  46. {openexr-3.2.7 → openexr-3.2.9}/README.md +0 -0
  47. {openexr-3.2.7 → openexr-3.2.9}/WORKSPACE.bazel +0 -0
  48. {openexr-3.2.7 → openexr-3.2.9}/cmake/CMakeLists.txt +0 -0
  49. {openexr-3.2.7 → openexr-3.2.9}/cmake/FindPythonPackage.cmake +0 -0
  50. {openexr-3.2.7 → openexr-3.2.9}/cmake/FindSphinx.cmake +0 -0
  51. {openexr-3.2.7 → openexr-3.2.9}/cmake/IexConfig.h.in +0 -0
  52. {openexr-3.2.7 → openexr-3.2.9}/cmake/IexConfigInternal.h.in +0 -0
  53. {openexr-3.2.7 → openexr-3.2.9}/cmake/IlmThreadConfig.h.in +0 -0
  54. {openexr-3.2.7 → openexr-3.2.9}/cmake/JoinPaths.cmake +0 -0
  55. {openexr-3.2.7 → openexr-3.2.9}/cmake/LibraryDefine.cmake +0 -0
  56. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXR.pc.in +0 -0
  57. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfig.cmake.in +0 -0
  58. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfig.h.in +0 -0
  59. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRConfigInternal.h.in +0 -0
  60. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRLibraryDefine.cmake +0 -0
  61. {openexr-3.2.7 → openexr-3.2.9}/cmake/OpenEXRSetup.cmake +0 -0
  62. {openexr-3.2.7 → openexr-3.2.9}/cmake/SampleCTestScript.cmake +0 -0
  63. {openexr-3.2.7 → openexr-3.2.9}/cmake/Toolchain-Linux-VFX_Platform15.cmake +0 -0
  64. {openexr-3.2.7 → openexr-3.2.9}/cmake/Toolchain-mingw.cmake +0 -0
  65. {openexr-3.2.7 → openexr-3.2.9}/cmake/clang-format.cmake +0 -0
  66. {openexr-3.2.7 → openexr-3.2.9}/cmake/cmake_uninstall.cmake.in +0 -0
  67. {openexr-3.2.7 → openexr-3.2.9}/docs/CMakeLists.txt +0 -0
  68. {openexr-3.2.7 → openexr-3.2.9}/pyproject.toml +0 -0
  69. {openexr-3.2.7 → openexr-3.2.9}/sonar-project.properties +0 -0
  70. {openexr-3.2.7 → openexr-3.2.9}/src/bin/CMakeLists.txt +0 -0
  71. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exr2aces/CMakeLists.txt +0 -0
  72. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exr2aces/main.cpp +0 -0
  73. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrcheck/CMakeLists.txt +0 -0
  74. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrcheck/main.cpp +0 -0
  75. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/CMakeLists.txt +0 -0
  76. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/EnvmapImage.cpp +0 -0
  77. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/EnvmapImage.h +0 -0
  78. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/blurImage.cpp +0 -0
  79. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/blurImage.h +0 -0
  80. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/main.cpp +0 -0
  81. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeCubeMap.cpp +0 -0
  82. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeCubeMap.h +0 -0
  83. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeLatLongMap.cpp +0 -0
  84. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/makeLatLongMap.h +0 -0
  85. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/namespaceAlias.h +0 -0
  86. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/readInputImage.cpp +0 -0
  87. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/readInputImage.h +0 -0
  88. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/resizeImage.cpp +0 -0
  89. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrenvmap/resizeImage.h +0 -0
  90. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrheader/CMakeLists.txt +0 -0
  91. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrheader/main.cpp +0 -0
  92. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrinfo/CMakeLists.txt +0 -0
  93. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrinfo/main.c +0 -0
  94. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/CMakeLists.txt +0 -0
  95. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/main.cpp +0 -0
  96. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/makePreview.cpp +0 -0
  97. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmakepreview/makePreview.h +0 -0
  98. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/CMakeLists.txt +0 -0
  99. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/Image.cpp +0 -0
  100. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/Image.h +0 -0
  101. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/main.cpp +0 -0
  102. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/makeTiled.cpp +0 -0
  103. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/makeTiled.h +0 -0
  104. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmaketiled/namespaceAlias.h +0 -0
  105. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmanifest/CMakeLists.txt +0 -0
  106. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmanifest/main.cpp +0 -0
  107. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultipart/CMakeLists.txt +0 -0
  108. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultipart/exrmultipart.cpp +0 -0
  109. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/CMakeLists.txt +0 -0
  110. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/Image.cpp +0 -0
  111. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/Image.h +0 -0
  112. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/main.cpp +0 -0
  113. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/makeMultiView.cpp +0 -0
  114. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/makeMultiView.h +0 -0
  115. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrmultiview/namespaceAlias.h +0 -0
  116. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrstdattr/CMakeLists.txt +0 -0
  117. {openexr-3.2.7 → openexr-3.2.9}/src/bin/exrstdattr/main.cpp +0 -0
  118. {openexr-3.2.7 → openexr-3.2.9}/src/lib/.gitignore +0 -0
  119. {openexr-3.2.7 → openexr-3.2.9}/src/lib/CMakeLists.txt +0 -0
  120. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/CMakeLists.txt +0 -0
  121. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/Iex.h +0 -0
  122. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexBaseExc.cpp +0 -0
  123. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexBaseExc.h +0 -0
  124. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexErrnoExc.h +0 -0
  125. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexExport.h +0 -0
  126. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexForward.h +0 -0
  127. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMacros.h +0 -0
  128. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathExc.h +0 -0
  129. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFloatExc.cpp +0 -0
  130. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFloatExc.h +0 -0
  131. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFpu.cpp +0 -0
  132. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathFpu.h +0 -0
  133. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexMathIeeeExc.h +0 -0
  134. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexNamespace.h +0 -0
  135. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexThrowErrnoExc.cpp +0 -0
  136. {openexr-3.2.7 → openexr-3.2.9}/src/lib/Iex/IexThrowErrnoExc.h +0 -0
  137. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/CMakeLists.txt +0 -0
  138. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThread.cpp +0 -0
  139. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThread.h +0 -0
  140. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadExport.h +0 -0
  141. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadForward.h +0 -0
  142. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadMutex.h +0 -0
  143. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadNamespace.h +0 -0
  144. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadPool.cpp +0 -0
  145. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadPool.h +0 -0
  146. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphore.cpp +0 -0
  147. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphore.h +0 -0
  148. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphoreOSX.cpp +0 -0
  149. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphorePosix.cpp +0 -0
  150. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphorePosixCompat.cpp +0 -0
  151. {openexr-3.2.7 → openexr-3.2.9}/src/lib/IlmThread/IlmThreadSemaphoreWin32.cpp +0 -0
  152. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/CMakeLists.txt +0 -0
  153. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAcesFile.cpp +0 -0
  154. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAcesFile.h +0 -0
  155. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfArray.h +0 -0
  156. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAttribute.cpp +0 -0
  157. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAttribute.h +0 -0
  158. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfAutoArray.h +0 -0
  159. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfB44Compressor.cpp +0 -0
  160. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfB44Compressor.h +0 -0
  161. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfBoxAttribute.cpp +0 -0
  162. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfBoxAttribute.h +0 -0
  163. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCRgbaFile.cpp +0 -0
  164. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCRgbaFile.h +0 -0
  165. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelList.cpp +0 -0
  166. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelList.h +0 -0
  167. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelListAttribute.cpp +0 -0
  168. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChannelListAttribute.h +0 -0
  169. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCheckedArithmetic.h +0 -0
  170. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticities.cpp +0 -0
  171. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticities.h +0 -0
  172. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticitiesAttribute.cpp +0 -0
  173. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfChromaticitiesAttribute.h +0 -0
  174. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompositeDeepScanLine.cpp +0 -0
  175. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompositeDeepScanLine.h +0 -0
  176. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompression.h +0 -0
  177. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressionAttribute.cpp +0 -0
  178. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressionAttribute.h +0 -0
  179. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressor.cpp +0 -0
  180. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfCompressor.h +0 -0
  181. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfConvert.cpp +0 -0
  182. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfConvert.h +0 -0
  183. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepCompositing.cpp +0 -0
  184. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepCompositing.h +0 -0
  185. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepFrameBuffer.cpp +0 -0
  186. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepFrameBuffer.h +0 -0
  187. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageState.h +0 -0
  188. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageStateAttribute.cpp +0 -0
  189. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepImageStateAttribute.h +0 -0
  190. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputFile.cpp +0 -0
  191. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputFile.h +0 -0
  192. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputPart.cpp +0 -0
  193. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineInputPart.h +0 -0
  194. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.cpp +0 -0
  195. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputFile.h +0 -0
  196. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.cpp +0 -0
  197. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepScanLineOutputPart.h +0 -0
  198. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputFile.cpp +0 -0
  199. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputFile.h +0 -0
  200. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputPart.cpp +0 -0
  201. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledInputPart.h +0 -0
  202. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputFile.cpp +0 -0
  203. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputFile.h +0 -0
  204. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputPart.cpp +0 -0
  205. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDeepTiledOutputPart.h +0 -0
  206. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDoubleAttribute.cpp +0 -0
  207. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDoubleAttribute.h +0 -0
  208. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressor.cpp +0 -0
  209. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressor.h +0 -0
  210. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfDwaCompressorSimd.h +0 -0
  211. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmap.cpp +0 -0
  212. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmap.h +0 -0
  213. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmapAttribute.cpp +0 -0
  214. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfEnvmapAttribute.h +0 -0
  215. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfExport.h +0 -0
  216. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFastHuf.cpp +0 -0
  217. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFastHuf.h +0 -0
  218. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatAttribute.cpp +0 -0
  219. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatAttribute.h +0 -0
  220. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatVectorAttribute.cpp +0 -0
  221. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFloatVectorAttribute.h +0 -0
  222. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfForward.h +0 -0
  223. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFrameBuffer.cpp +0 -0
  224. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFrameBuffer.h +0 -0
  225. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFramesPerSecond.cpp +0 -0
  226. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfFramesPerSecond.h +0 -0
  227. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericInputFile.cpp +0 -0
  228. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericInputFile.h +0 -0
  229. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericOutputFile.cpp +0 -0
  230. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfGenericOutputFile.h +0 -0
  231. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHeader.cpp +0 -0
  232. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHeader.h +0 -0
  233. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHuf.cpp +0 -0
  234. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfHuf.h +0 -0
  235. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifest.h +0 -0
  236. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifestAttribute.cpp +0 -0
  237. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIDManifestAttribute.h +0 -0
  238. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIO.cpp +0 -0
  239. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIO.h +0 -0
  240. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputFile.cpp +0 -0
  241. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputFile.h +0 -0
  242. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPart.cpp +0 -0
  243. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPart.h +0 -0
  244. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPartData.cpp +0 -0
  245. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputPartData.h +0 -0
  246. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInputStreamMutex.h +0 -0
  247. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfInt64.h +0 -0
  248. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIntAttribute.cpp +0 -0
  249. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfIntAttribute.h +0 -0
  250. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCode.cpp +0 -0
  251. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCode.h +0 -0
  252. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCodeAttribute.cpp +0 -0
  253. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfKeyCodeAttribute.h +0 -0
  254. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrder.h +0 -0
  255. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrderAttribute.cpp +0 -0
  256. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLineOrderAttribute.h +0 -0
  257. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLut.cpp +0 -0
  258. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfLut.h +0 -0
  259. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMatrixAttribute.cpp +0 -0
  260. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMatrixAttribute.h +0 -0
  261. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMisc.cpp +0 -0
  262. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMisc.h +0 -0
  263. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartInputFile.cpp +0 -0
  264. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartInputFile.h +0 -0
  265. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartOutputFile.cpp +0 -0
  266. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiPartOutputFile.h +0 -0
  267. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiView.cpp +0 -0
  268. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfMultiView.h +0 -0
  269. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfName.h +0 -0
  270. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfNamespace.h +0 -0
  271. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOpaqueAttribute.cpp +0 -0
  272. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOpaqueAttribute.h +0 -0
  273. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOptimizedPixelReading.h +0 -0
  274. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputFile.cpp +0 -0
  275. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputFile.h +0 -0
  276. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPart.cpp +0 -0
  277. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPart.h +0 -0
  278. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPartData.cpp +0 -0
  279. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputPartData.h +0 -0
  280. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfOutputStreamMutex.h +0 -0
  281. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartHelper.h +0 -0
  282. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartType.cpp +0 -0
  283. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPartType.h +0 -0
  284. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPixelType.h +0 -0
  285. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPizCompressor.cpp +0 -0
  286. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPizCompressor.h +0 -0
  287. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImage.cpp +0 -0
  288. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImage.h +0 -0
  289. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImageAttribute.cpp +0 -0
  290. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPreviewImageAttribute.h +0 -0
  291. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPxr24Compressor.cpp +0 -0
  292. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfPxr24Compressor.h +0 -0
  293. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRational.cpp +0 -0
  294. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRational.h +0 -0
  295. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRationalAttribute.cpp +0 -0
  296. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRationalAttribute.h +0 -0
  297. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgba.h +0 -0
  298. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaFile.cpp +0 -0
  299. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaFile.h +0 -0
  300. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaYca.cpp +0 -0
  301. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRgbaYca.h +0 -0
  302. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRle.cpp +0 -0
  303. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRle.h +0 -0
  304. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRleCompressor.cpp +0 -0
  305. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfRleCompressor.h +0 -0
  306. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfScanLineInputFile.cpp +0 -0
  307. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfScanLineInputFile.h +0 -0
  308. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSimd.h +0 -0
  309. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStandardAttributes.cpp +0 -0
  310. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStandardAttributes.h +0 -0
  311. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStdIO.cpp +0 -0
  312. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStdIO.h +0 -0
  313. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringAttribute.cpp +0 -0
  314. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringAttribute.h +0 -0
  315. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringVectorAttribute.cpp +0 -0
  316. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfStringVectorAttribute.h +0 -0
  317. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSystemSpecific.cpp +0 -0
  318. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfSystemSpecific.h +0 -0
  319. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTestFile.cpp +0 -0
  320. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTestFile.h +0 -0
  321. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfThreading.cpp +0 -0
  322. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfThreading.h +0 -0
  323. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescription.h +0 -0
  324. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescriptionAttribute.cpp +0 -0
  325. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileDescriptionAttribute.h +0 -0
  326. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileOffsets.cpp +0 -0
  327. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTileOffsets.h +0 -0
  328. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputFile.cpp +0 -0
  329. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputFile.h +0 -0
  330. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputPart.cpp +0 -0
  331. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledInputPart.h +0 -0
  332. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledMisc.cpp +0 -0
  333. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledMisc.h +0 -0
  334. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputFile.cpp +0 -0
  335. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputFile.h +0 -0
  336. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputPart.cpp +0 -0
  337. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledOutputPart.h +0 -0
  338. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledRgbaFile.cpp +0 -0
  339. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTiledRgbaFile.h +0 -0
  340. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCode.cpp +0 -0
  341. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCode.h +0 -0
  342. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCodeAttribute.cpp +0 -0
  343. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfTimeCodeAttribute.h +0 -0
  344. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVecAttribute.cpp +0 -0
  345. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVecAttribute.h +0 -0
  346. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVersion.cpp +0 -0
  347. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfVersion.h +0 -0
  348. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfWav.cpp +0 -0
  349. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfWav.h +0 -0
  350. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfXdr.h +0 -0
  351. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZip.cpp +0 -0
  352. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZip.h +0 -0
  353. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZipCompressor.cpp +0 -0
  354. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/ImfZipCompressor.h +0 -0
  355. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/b44ExpLogTable.cpp +0 -0
  356. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/b44ExpLogTable.h +0 -0
  357. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/dwaLookups.cpp +0 -0
  358. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXR/dwaLookups.h +0 -0
  359. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/CMakeLists.txt +0 -0
  360. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/attributes.c +0 -0
  361. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/backward_compatibility.h +0 -0
  362. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/base.c +0 -0
  363. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/channel_list.c +0 -0
  364. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/chunk.c +0 -0
  365. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/coding.c +0 -0
  366. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/compression.c +0 -0
  367. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/context.c +0 -0
  368. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/debug.c +0 -0
  369. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/decoding.c +0 -0
  370. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/encoding.c +0 -0
  371. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/float_vector.c +0 -0
  372. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_attr.h +0 -0
  373. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_b44.c +0 -0
  374. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_b44_table.c +0 -0
  375. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_channel_list.h +0 -0
  376. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_coding.h +0 -0
  377. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_compress.h +0 -0
  378. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_constants.h +0 -0
  379. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_cpuid.h +0 -0
  380. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_decompress.h +0 -0
  381. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa.c +0 -0
  382. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_channeldata.h +0 -0
  383. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_classifier.h +0 -0
  384. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_decoder.h +0 -0
  385. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_encoder.h +0 -0
  386. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_helpers.h +0 -0
  387. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_dwa_simd.h +0 -0
  388. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_file.h +0 -0
  389. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_float_vector.h +0 -0
  390. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_huf.c +0 -0
  391. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_huf.h +0 -0
  392. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_memory.h +0 -0
  393. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_opaque.h +0 -0
  394. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_piz.c +0 -0
  395. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_posix_file_impl.h +0 -0
  396. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_preview.h +0 -0
  397. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_pxr24.c +0 -0
  398. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_rle.c +0 -0
  399. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_string.h +0 -0
  400. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_string_vector.h +0 -0
  401. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_structs.c +0 -0
  402. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_structs.h +0 -0
  403. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_util.h +0 -0
  404. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_win32_file_impl.h +0 -0
  405. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_xdr.h +0 -0
  406. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/internal_zip.c +0 -0
  407. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/memory.c +0 -0
  408. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/opaque.c +0 -0
  409. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr.h +0 -0
  410. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_attr.h +0 -0
  411. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_base.h +0 -0
  412. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_chunkio.h +0 -0
  413. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_coding.h +0 -0
  414. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_compression.h +0 -0
  415. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_config.h +0 -0
  416. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_context.h +0 -0
  417. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_debug.h +0 -0
  418. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_decode.h +0 -0
  419. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_encode.h +0 -0
  420. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_errors.h +0 -0
  421. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_part.h +0 -0
  422. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/openexr_std_attr.h +0 -0
  423. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/pack.c +0 -0
  424. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/parse_header.c +0 -0
  425. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/part.c +0 -0
  426. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/part_attr.c +0 -0
  427. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/preview.c +0 -0
  428. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/std_attr.c +0 -0
  429. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/string.c +0 -0
  430. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/string_vector.c +0 -0
  431. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/unpack.c +0 -0
  432. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/validation.c +0 -0
  433. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRCore/write_header.c +0 -0
  434. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/CMakeLists.txt +0 -0
  435. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfCheckFile.cpp +0 -0
  436. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfCheckFile.h +0 -0
  437. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImage.cpp +0 -0
  438. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImage.h +0 -0
  439. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageChannel.cpp +0 -0
  440. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageChannel.h +0 -0
  441. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageIO.cpp +0 -0
  442. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageIO.h +0 -0
  443. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageLevel.cpp +0 -0
  444. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfDeepImageLevel.h +0 -0
  445. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImage.cpp +0 -0
  446. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImage.h +0 -0
  447. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageChannel.cpp +0 -0
  448. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageChannel.h +0 -0
  449. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageIO.cpp +0 -0
  450. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageIO.h +0 -0
  451. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageLevel.cpp +0 -0
  452. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfFlatImageLevel.h +0 -0
  453. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImage.cpp +0 -0
  454. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImage.h +0 -0
  455. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannel.h +0 -0
  456. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageChannelRenaming.h +0 -0
  457. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageDataWindow.cpp +0 -0
  458. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageDataWindow.h +0 -0
  459. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageIO.cpp +0 -0
  460. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageIO.h +0 -0
  461. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageLevel.cpp +0 -0
  462. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfImageLevel.h +0 -0
  463. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfSampleCountChannel.cpp +0 -0
  464. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfSampleCountChannel.h +0 -0
  465. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/ImfUtilExport.h +0 -0
  466. {openexr-3.2.7 → openexr-3.2.9}/src/lib/OpenEXRUtil/README +0 -0
  467. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/CMakeLists.txt +0 -0
  468. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/Imath.py +0 -0
  469. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/OpenEXR.cpp +0 -0
  470. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/README.md +0 -0
  471. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/openexr_skbuild_plugin.py +0 -0
  472. {openexr-3.2.7 → openexr-3.2.9}/src/wrappers/python/tests/test_minimal.py +0 -0
  473. {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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: OpenEXR
3
- Version: 3.2.7
3
+ Version: 3.2.9
4
4
  Summary: Python bindings for the OpenEXR image file format
5
5
  Author-Email: Contributors to the OpenEXR project <info@openexr.com>
6
6
  Project-URL: Homepage, https://openexr.com
@@ -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 += chan->width * chan->bytes_per_element;
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
- cd->planarUncRle[byte - 1] + curc->width * curc->height;
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
  }
@@ -10,6 +10,6 @@
10
10
 
11
11
  # define OPENEXR_VERSION_MAJOR 3
12
12
  # define OPENEXR_VERSION_MINOR 2
13
- # define OPENEXR_VERSION_PATCH 7
13
+ # define OPENEXR_VERSION_PATCH 9
14
14
 
15
15
  #endif
@@ -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
- _numPixels = _pixelsPerRow * _pixelsPerColumn;
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