Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prevent overflows by using Int64 for all vars in DWA initialize #903

Conversation

peterhillman
Copy link
Contributor

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29829
One remaining use of int rather than Int64 in DwaCompressor::initializeBuffers was causing an overflow

Signed-off-by: Peter Hillman [email protected]

@peterhillman peterhillman merged commit c811f98 into AcademySoftwareFoundation:master Jan 25, 2021
@peterhillman peterhillman deleted the dwa_initialize_int64allthethings branch January 25, 2021 08:57
cary-ilm pushed a commit to cary-ilm/openexr that referenced this pull request Feb 6, 2021
cary-ilm added a commit that referenced this pull request Feb 12, 2021
* Revert "Disable OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX when building on arm64 macOS"

This reverts commit 67053eb.

Signed-off-by: Harry Mallon <[email protected]>

* Fix Apple Universal 2 (arm64/x86_64) builds

* In these types of builds we want arm64 and x86_64 (with AVX optimisations).
  However the way cmake works (with `CMAKE_OSX_ARCHITECTURES="arm64;x86_64"`
  means that we share one OpenEXRConfigInternal.h between both builds. So
  we have to have OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX mean "AVX GCC asm is
  available if platform is x86", rather than "AVX GCC asm is available".
  Then we decide on AVX optimisations based on that #define and also the
  platform defines.

Signed-off-by: Harry Mallon <[email protected]>

* Include <limits> where required by newer compilers (#893)

* Include <limits> where required by newer compilers

Signed-off-by: Cary Phillips <[email protected]>

* Removed redundant #include <limits>

Signed-off-by: Cary Phillips <[email protected]>

* add buffer size validation to FastHuf decode

Signed-off-by: Peter Hillman <[email protected]>

* prevent overflow in RgbaFile cachePadding

Signed-off-by: Peter Hillman <[email protected]>

* Use size_t for DWA buffersize calculation (#901)

* Use size_t for DWA buffersize calculation

Signed-off-by: Peter Hillman <[email protected]>

* use Int64 instead of size_t for buffersize calculations

Signed-off-by: Peter Hillman <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>

* prevent overflows by using Int64 for all vars in DWA initialize (#903)

Signed-off-by: Peter Hillman <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>

* update tileoffset sanitycheck to handle ripmaps  (#910)

* update tileoffset sanitycheck to handle ripmaps

Signed-off-by: Peter Hillman <[email protected]>

* slight reorganization

Signed-off-by: Peter Hillman <[email protected]>

* slight reorganization

Signed-off-by: Peter Hillman <[email protected]>

* remove extra if statement from validateStreamSize

Signed-off-by: Peter Hillman <[email protected]>
Signed-off-by: Cary Phillips <[email protected]>

* additional verification of DWA data sizes (#914)

Signed-off-by: Peter Hillman <[email protected]>

* Release notes for v2.5.5

Signed-off-by: Cary Phillips <[email protected]>

* fix merge of ImfTiledInputFile.cpp

Signed-off-by: Cary Phillips <[email protected]>

* Bump version for 2.5.5

Signed-off-by: Cary Phillips <[email protected]>

* Only wait for and join joinable threads (#921)

Signed-off-by: Cary Phillips <[email protected]>

* Fixed botched merge or IlmThread.cpp/IlmThreadPool.cpp

Signed-off-by: Cary Phillips <[email protected]>

* Fix 2.5.5 release date

Signed-off-by: Cary Phillips <[email protected]>

Co-authored-by: Harry Mallon <[email protected]>
Co-authored-by: Peter Hillman <[email protected]>
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 17, 2021
## Version 2.5.5 (February 12, 2021)

Patch release with various bug/sanitizer/security fixes, primarily
related to reading corrupted input files, but also a fix for universal
build support on macOS.

Specific OSS-fuzz issues include:

* OSS-fuzz [#30291](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30291)
* OSS-fuzz [#29106](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29106)
* OSS-fuzz [#28971](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28971)
* OSS-fuzz [#29829](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29829)
* OSS-fuzz [#30121](https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30121)

### Merged Pull Requests

* [#914](AcademySoftwareFoundation/openexr#914) additional verification of DWA data sizes
* [#910](AcademySoftwareFoundation/openexr#910) update tileoffset sanitycheck to handle ripmaps
* [#903](AcademySoftwareFoundation/openexr#903) prevent overflows by using Int64 for all vars in DWA initialize
* [#901](AcademySoftwareFoundation/openexr#901) Use size_t for DWA buffersize calculation
* [#897](AcademySoftwareFoundation/openexr#897) prevent overflow in RgbaFile cachePadding
* [#896](AcademySoftwareFoundation/openexr#896) add buffer size validation to FastHuf decode
* [#893](AcademySoftwareFoundation/openexr#893) Include <limits> where required by newer compilers
* [#889](AcademySoftwareFoundation/openexr#889) Add explicit #include <limits> for numeric_limits
* [#854](AcademySoftwareFoundation/openexr#854) Fix Apple Universal 2 (arm64/x86_64) builds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants