forked from pool/brotli
- Update to 1.0.8
OBS-URL: https://build.opensuse.org/package/show/Archiving/brotli?expand=0&rev=25
This commit is contained in:
parent
62eaae2430
commit
36e05c72a7
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c
|
||||
size 23827908
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 26 16:30:45 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to 1.0.8
|
||||
* Fix integer overflow when input chunk is longer than 2GiB
|
||||
* `brotli -v` now reports raw / compressed size
|
||||
* decoder: minor speed / memory usage improvements
|
||||
* encoder: fix rare access to uninitialized data in ring-buffer
|
||||
- Drop brotli_Ensure-decompression-consumes-all-input.patch,
|
||||
brotli_Verbose-CLI+Shared-Brotli.patch (merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 12 14:52:42 UTC 2020 - andy great <andythe_great@pm.me>
|
||||
|
||||
|
13
brotli.spec
13
brotli.spec
@ -19,17 +19,15 @@
|
||||
|
||||
%define sover 1
|
||||
Name: brotli
|
||||
Version: 1.0.7
|
||||
Version: 1.0.8
|
||||
Release: 0
|
||||
Summary: Lossless Compression Algorithm
|
||||
License: MIT
|
||||
Group: Productivity/Archiving/Compression
|
||||
URL: https://github.com/google/brotli
|
||||
Source: %url/archive/v%version.tar.gz#/%name-%version.tar.gz
|
||||
Source: https://github.com/google/brotli/archive/v%version.tar.gz
|
||||
Source99: baselibs.conf
|
||||
Patch: brotli_Verbose-CLI+Shared-Brotli.patch
|
||||
Patch1: brotli_Ensure-decompression-consumes-all-input.patch
|
||||
BuildRequires: cmake >= 2.8.6
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gzip
|
||||
BuildRequires: pkg-config
|
||||
@ -123,25 +121,20 @@ install -pm0644 docs/*.3 "%buildroot/%_mandir/man3/"
|
||||
%postun -n libbrotlienc%sover -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE
|
||||
%_bindir/brotli
|
||||
%_mandir/man1/brotli.1*
|
||||
|
||||
%files -n libbrotlicommon%sover
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libbrotlicommon.so.*
|
||||
|
||||
%files -n libbrotlidec%sover
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libbrotlidec.so.*
|
||||
|
||||
%files -n libbrotlienc%sover
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libbrotlienc.so.*
|
||||
|
||||
%files -n libbrotli-devel
|
||||
%defattr(-,root,root)
|
||||
%_includedir/brotli/
|
||||
%_libdir/libbrotlicommon.so
|
||||
%_libdir/libbrotlidec.so
|
||||
|
@ -1,74 +0,0 @@
|
||||
From 5805f99a533a8f8118699c0100d8c102f3605f65 Mon Sep 17 00:00:00 2001
|
||||
From: Justin Ridgewell <justin@ridgewell.name>
|
||||
Date: Mon, 12 Nov 2018 04:36:00 -0500
|
||||
Subject: [PATCH] Ensure decompression consumes all input (#730)
|
||||
|
||||
* Ensure decompression consumes all input
|
||||
|
||||
If not, it's a corrupt stream.
|
||||
|
||||
* Use byte strings
|
||||
---
|
||||
python/_brotli.cc | 4 ++--
|
||||
python/tests/decompress_test.py | 4 ++++
|
||||
python/tests/decompressor_test.py | 9 +++++++++
|
||||
3 files changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/python/_brotli.cc b/python/_brotli.cc
|
||||
index a6f925ef..5e1828e9 100644
|
||||
--- a/python/_brotli.cc
|
||||
+++ b/python/_brotli.cc
|
||||
@@ -414,7 +414,7 @@ static BROTLI_BOOL decompress_stream(BrotliDecoderState* dec,
|
||||
(*output).insert((*output).end(), buffer, buffer + buffer_length);
|
||||
}
|
||||
}
|
||||
- ok = result != BROTLI_DECODER_RESULT_ERROR;
|
||||
+ ok = result != BROTLI_DECODER_RESULT_ERROR && !available_in;
|
||||
|
||||
Py_END_ALLOW_THREADS
|
||||
return ok;
|
||||
@@ -672,7 +672,7 @@ static PyObject* brotli_decompress(PyObject *self, PyObject *args, PyObject *key
|
||||
if (available_out != 0)
|
||||
output.insert(output.end(), next_out, next_out + available_out);
|
||||
}
|
||||
- ok = result == BROTLI_DECODER_RESULT_SUCCESS;
|
||||
+ ok = result == BROTLI_DECODER_RESULT_SUCCESS && !available_in;
|
||||
BrotliDecoderDestroyInstance(state);
|
||||
|
||||
Py_END_ALLOW_THREADS
|
||||
diff --git a/python/tests/decompress_test.py b/python/tests/decompress_test.py
|
||||
index 7a9e9e30..814e5633 100644
|
||||
--- a/python/tests/decompress_test.py
|
||||
+++ b/python/tests/decompress_test.py
|
||||
@@ -31,6 +31,10 @@ def _test_decompress(self, test_data):
|
||||
self._decompress(test_data)
|
||||
self._check_decompression(test_data)
|
||||
|
||||
+ def test_garbage_appended(self):
|
||||
+ with self.assertRaises(brotli.error):
|
||||
+ brotli.decompress(brotli.compress(b'a') + b'a')
|
||||
+
|
||||
|
||||
_test_utils.generate_test_methods(TestDecompress, for_decompression=True)
|
||||
|
||||
diff --git a/python/tests/decompressor_test.py b/python/tests/decompressor_test.py
|
||||
index 99667bcd..05918ada 100644
|
||||
--- a/python/tests/decompressor_test.py
|
||||
+++ b/python/tests/decompressor_test.py
|
||||
@@ -43,6 +43,15 @@ def _test_decompress(self, test_data):
|
||||
self._decompress(test_data)
|
||||
self._check_decompression(test_data)
|
||||
|
||||
+ def test_garbage_appended(self):
|
||||
+ with self.assertRaises(brotli.error):
|
||||
+ self.decompressor.process(brotli.compress(b'a') + b'a')
|
||||
+
|
||||
+ def test_already_finished(self):
|
||||
+ self.decompressor.process(brotli.compress(b'a'))
|
||||
+ with self.assertRaises(brotli.error):
|
||||
+ self.decompressor.process(b'a')
|
||||
+
|
||||
|
||||
_test_utils.generate_test_methods(TestDecompressor, for_decompression=True)
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
3
v1.0.8.tar.gz
Normal file
3
v1.0.8.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6dcc73364b1a1ee7e49024d25e00b8ca4968396a81af99c8c6eb8757b52f74ea
|
||||
size 474171
|
Loading…
Reference in New Issue
Block a user