currently we have written a lambda (turns into anonymous class) which
invokes a MethodHandle for the java.util.zip.CRC32C constructor as the
Supplier<Checksum> implementation.
This has 2 layers of misdirection. The Supplier implementation spun up
by the jvm calls the anonymous lambda class, which then calls the
MethodHandle invoke. This leads to stack traces like:
use LambdaMetafactory to generate a Supplier<Checksum> which calls the
java.util.zip.CRC32C
Co-authored-by: bo8979 <bo8979@cerner.com>
* ppc64-le (Fix): Use an LTS-version of cross-compiler for Linux ppc64-le
* Update native libraries for 4764a47e75 (#517)
Co-authored-by: xerial <xerial@users.noreply.github.com>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: xerial <xerial@users.noreply.github.com>
* Validate chunk size to be within a configured maximum
* Add constructors to have max size configurable
* Code cleanup
* Use 512MB for consistency
---------
Co-authored-by: Taro L. Saito <leo@xerial.org>
* Fix spacing with comment
* Updated code
* Test: Added Assume catches for each failed tests
* Added and implemented separate method to check if System CI is false
* Added a null check to ensure assumingCIIsFalse() method runs locally as well
* Changed assumeTrue to assumeFalse
* Fixed integer overflow by checking if bytesize is bigger than input length, then throwing exception
* Fixed integer overflow by checking if bytesize is bigger than input length, then throwing exception
* Fixed integer overflow by checking if bytesize is bigger than input length, then throwing exception
* improved error messages by adding new error enum INPUT_TOO_LARGE in SnappyErrorCode.java, and added happy and sad cases in SnappyTest.java
* fixed mispelling: validArrayInputLength --> isInvalidArrayInputLength
* switched SnappyError into ILLEGAL_ARGUMENT in SnappyErrorCode.java and Snappy.java and fixed a typo in error comment
* Fix buffer size boundary tests
* Remove negative array size tests
* updated comments for unit test
---------
Co-authored-by: Taro L. Saito <leo@xerial.org>
* asserted chunksize should be in the bounds of 0-java.outofmmeoryexception
* asserted chunksize should be in the bounds of 0-java.outofmmeoryexception
* https://github.com/xerial/snappy-java-ghsa-qcwq-55hx-v3vh/pull/2
* advisory-fix-3
* added and changed method name for happy and sad cases in SnappyTest.java
* removed expected error for happy case in unit testing
* added another unit test case in SnappyTest.java and fixed comments in SnappyInputStream.java
* switched SnappyError to INVALID_CHUNK_SIZE
* Updated unit tests
* Resolved conflicts with another PR merge
* Fixed integer overflow by checking if multiplication result is smaller than original value
* Fixed integer overflow by checking if multiplication result is smaller than original value
* Fixed integer overflow by checking if multiplication result is smaller than original value
* imporved error messages and added happy and sad cases for unit test in SnappyTest.java
* switched SnappyError into ILLEGAL_ARGUMENT in SnappyErrorCode.java and Snappy.java
* wrote new and updated unit test methods
* updated comments in SnappyTest.java
* Fixed and updated unit tests in SnappyTest.java
* Feature: Use LTS cross-compiler for Linux armv6/armv7 to use glibc 2.28
* Use softfp for armv7
* Fix armv6 config
* Update native libraries
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* ByteBuffer.limit() compiled with JDK9+ shows java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer; error in JDK8
* Set --release 8 JDK option
* Do not use --release 8 option in JDK8
* Upgrade to snappy-1.1.9
* Add sbt-dynver
* Fix script so as not to requrie perl
* Upgrade bitshuffle to 0.5.1
* use bitshuffle 0.3.4, which can be compiled without errors
* Add native library build workflow
* Add Big Endian support to Pure Java Snappy
* Support Big Endian. Separated Little and Big Endian methods for performance reasons
* Big Endian support - made a separate interface so no performance issues
* Big Endian support update - Remove trivial whitespace/tab changes which othewise come up in diff report
* Add newline to end of source for githib diff report
* Big Endian Support - simplified changes as peformance hit is not significant
* Big Endian Support - fix typo
* Fix typo
* Update SnappyLoader.java
Converted TAB char to spaces
* Revert back to original code
Co-authored-by: Russell Shaw <russell@Russells-MacBook-Pro.local>