Commit Graph

105 Commits

Author SHA1 Message Date
aleister1102
2dc2a5feea fix(java): reject decoder push length exceeding input buffer capacity
DecoderJNI.Wrapper.push(int length) validated only length < 0. nativePush() stored input_length without an upper bound, and DecoderHandle did not retain the input buffer's allocation size, so new DecoderJNI.Wrapper(1).push(32) made BrotliDecoderDecompressStream read past the one-byte input allocation (heap out-of-bounds read).

Add an upper-bound check in Wrapper.push(), and as defense in depth store the allocation size in DecoderHandle and reject oversized input_length in nativePush(). Add DecoderJNITest covering rejection and a valid round trip.
2026-06-07 00:20:09 +07:00
Brotli
af041f55e7 Automated Code Change
PiperOrigin-RevId: 910740603
2026-05-05 09:37:27 -07:00
Ronald Brill
0b30317d4a use try-with-resources 2026-04-15 12:53:05 +02:00
Evgenii Kliuchnikov
bad6cb59b5 Make all BrotliOutputStream methods exclusive/blocking.
If access is naturally exclusive, then it is nearly zero-cost (1 atomic CAS)

PiperOrigin-RevId: 896977751
2026-04-09 02:28:14 -07:00
Evgenii Kliuchnikov
88b27d494d Fix partial javadocs
PiperOrigin-RevId: 896503460
2026-04-08 08:00:31 -07:00
Copybara-Service
5583858f76 Merge pull request #1413 from leofernandesmo:fix-java-brotliinputstream-null-buffer
PiperOrigin-RevId: 889691589
2026-03-26 01:40:30 -07:00
Eugene Kliuchnikov
538c014676 Merge branch 'master' into fix-java-brotliinputstream-null-buffer 2026-03-26 08:19:58 +01:00
Eugene Kliuchnikov
e1d9ad3cca Merge branch 'master' into fix-java-brotliinputstream-illegalstateexception 2026-03-26 08:13:21 +01:00
Evgenii Kliuchnikov
8794fc793e Fix bazel build
That includes un-inlining JNI function calls
2026-03-13 12:31:38 +00:00
Leo fernandes
2c214287ff java: wrap decoder IllegalStateException as IOException 2026-01-21 16:30:47 -03:00
Leo fernandes
e7f00f6348 java: add explicit null check in BrotliInputStream.read 2026-01-21 15:00:59 -03:00
Evgenii Kliuchnikov
8a9ab54e2e fix JavaDoc warnings
PiperOrigin-RevId: 829420925
2025-11-07 07:00:04 -08:00
Evgenii Kliuchnikov
3499acbb7a regenerate go/kt/js/ts
PiperOrigin-RevId: 822489795
2025-10-22 02:16:51 -07:00
Evgenii Kliuchnikov
ee771daf20 fix copy-paste in Java decoder
PiperOrigin-RevId: 822024938
2025-10-21 02:42:59 -07:00
Evgenii Kliuchnikov
34e43eb020 fix typos
PiperOrigin-RevId: 815676548
2025-10-06 05:16:07 -07:00
Evgenii Kliuchnikov
da2e091eb7 prepare for v1.2.0.rc1
PiperOrigin-RevId: 815650799
2025-10-06 03:48:49 -07:00
Evgenii Kliuchnikov
a896e79d4f Java: ramp-up artifact versions in pom files
PiperOrigin-RevId: 813673237
2025-10-01 03:26:40 -07:00
Evgenii Kliuchnikov
85d46ce6b5 Drop finalize()
Now it is solely embedders responisbility to close things that hold native resources. No more "safety net".

Consider "try-with-resources". For longer lasting items (e.g. native PreparedDictionary) use Cleaner as a last resort.

PiperOrigin-RevId: 807584792
2025-09-16 01:23:46 -07:00
Evgenii Kliuchnikov
9a4ba5932b internal change
PiperOrigin-RevId: 795452145
2025-08-15 06:18:41 -07:00
Evgenii Kliuchnikov
3efb30f96b Comb UTF-8 literal processing
PiperOrigin-RevId: 770672448
2025-06-12 08:48:11 -07:00
Evgenii Kliuchnikov
ee5f3bb959 Refresh JS/TS/KT
PiperOrigin-RevId: 769617330
2025-06-10 07:08:25 -07:00
Evgenii Kliuchnikov
08bdaebbf8 modify Java decoder in a way it could be transpiled to exception unfriendly languages
PiperOrigin-RevId: 769488037
2025-06-10 00:28:15 -07:00
Evgenii Kliuchnikov
271be11429 Prepare for transpilation to golang
PiperOrigin-RevId: 767024321
2025-06-04 01:05:06 -07:00
Evgenii Kliuchnikov
6270bb54fa update CI pipelines
PiperOrigin-RevId: 764197690
2025-05-28 04:18:12 -07:00
Andreas Deininger
93d0ac53aa Fix typos (#1242)
Co-authored-by: Eugene Kliuchnikov <eustas.ru@gmail.com>
2025-05-27 09:47:01 +02:00
Evgenii Kliuchnikov
281b0aa562 Fix most of build_test pipeline 2025-01-08 10:12:41 +00:00
Evgenii Kliuchnikov
95b81fcc29 Partially pick https://github.com/google/brotli/pull/1232
PiperOrigin-RevId: 712791222
2025-01-06 23:52:23 -08:00
Evgenii Kliuchnikov
7347e81db5 Fix Java Bazel build 2024-11-11 15:54:47 +00:00
Evgenii Kliuchnikov
4303850b01 No public description
PiperOrigin-RevId: 695336284
2024-11-11 07:51:35 -08:00
Michael Hoisie
8a626fd486 No public description
PiperOrigin-RevId: 636183145
2024-05-22 08:54:21 -07:00
Brotli
b6f2d49feb Add load() statements for the builtin Bazel java rules
Loads are being added in preparation for moving the rules out of Bazel and into `rules_java`.

PiperOrigin-RevId: 621489058
2024-04-03 05:18:26 -07:00
Evgenii Kliuchnikov
ccec9628e4 add pure-kotlin decoder
PiperOrigin-RevId: 608917286
2024-02-21 02:33:05 -08:00
Evgenii Kliuchnikov
c1362a7903 further preparations for Kotlin transpilation
PiperOrigin-RevId: 603638823
2024-02-02 03:26:50 -08:00
Evgenii Kliuchnikov
200f37984a prepare java decoder for transpilation to Kotlin
PiperOrigin-RevId: 601023149
2024-01-23 23:47:13 -08:00
Evgenii Kliuchnikov
02458f3443 further simplify Java build
PiperOrigin-RevId: 598790414
2024-01-16 03:37:10 -08:00
Evgenii Kliuchnikov
1045ab52df Fix/simplify/improve Bazel build
PiperOrigin-RevId: 595656443
2024-01-04 03:33:11 -08:00
Evgenii Kliuchnikov
082c9626a4 add test for one-shot encoding/decoding with offset
PiperOrigin-RevId: 595407007
2024-01-03 08:18:52 -08:00
Aayush Atharva
428d056ddc Fix Encoder bug 2023-12-28 22:19:02 +05:30
Evgenii Kliuchnikov
6ba678a7ce pull "InputStream" reference out of "pure" code
PiperOrigin-RevId: 586390725
2023-11-29 10:48:18 -08:00
Evgenii Kliuchnikov
9ff341daaf Replace TS strict_checks with source-level suppressions.
PiperOrigin-RevId: 555445920
2023-08-10 04:46:01 -07:00
Evgenii Kliuchnikov
0300be36ba add "repeat" to Java toy decoder
PiperOrigin-RevId: 551770992
2023-07-28 01:06:50 -07:00
Evgenii Kliuchnikov
c2848d5537 add synth test for metadata block
PiperOrigin-RevId: 548120163
2023-07-14 07:26:14 -07:00
Evgenii Kliuchnikov
de52bc7ce0 add "zero cost command" synth test
PiperOrigin-RevId: 548050521
2023-07-14 01:06:00 -07:00
Evgenii Kliuchnikov
70e7b1ae4a simplify building of fuzzer
PiperOrigin-RevId: 545950923
2023-07-10 11:43:27 +00:00
Evgenii Kliuchnikov
413b098564 Fix integration .pom
PiperOrigin-RevId: 545910020
2023-07-06 08:38:57 +00:00
Evgenii Kliuchnikov
11b8d7cb8a update .pom files
PiperOrigin-RevId: 545659932
2023-07-05 19:15:32 +00:00
Evgenii Kliuchnikov
efe140adae add brotli.ts
PiperOrigin-RevId: 526966561
2023-07-04 07:54:57 +00:00
Evgenii Kliuchnikov
ffbe112328 JS: stronger typing
PiperOrigin-RevId: 526909255
2023-07-04 07:54:49 +00:00
Sean C. Sullivan
2ce0feba3c avoid array allocation in Encoder.Mode enum 2023-01-22 06:30:06 -08:00
Brotli
36533a866e Internal change
PiperOrigin-RevId: 502401179
2023-01-17 13:51:00 +00:00