Comments (2)
diff --git a/src/ffi/compressor.rs b/src/ffi/compressor.rs
index 3dc88d3..df6b045 100755
--- a/src/ffi/compressor.rs
+++ b/src/ffi/compressor.rs
@@ -282,7 +282,11 @@ pub unsafe extern fn BrotliEncoderCompressStream(
};
{
let input_buf = slice_from_raw_parts_or_nil(*input_buf_ptr, *available_in);
- let output_buf = slice_from_raw_parts_or_nil_mut(*output_buf_ptr, *available_out);
+ let output_buf = if *available_out != 0 {
+ slice_from_raw_parts_or_nil_mut(*output_buf_ptr, *available_out)
+ } else {
+ &mut []
+ };
let mut to = Some(0usize);
result = ::enc::encode::BrotliEncoderCompressStream(
&mut (*state_ptr).compressor,
should fix the segfault, however I don't know if it fixes the actual issue or just causes a problem somewhere else.
from rust-brotli.
your fix is good! Thanks. I didn't expect people to pass in a pointer with 0 size available plus a nullptr to the encoder library
from rust-brotli.
Related Issues (20)
- Support stream testing without expecting a decompressed stream
- Crash when compressing file with -q0
- Flushing sometimes leaves the compressor in an inconsistent state HOT 1
- Unnecessary loop HOT 3
- Performance metrics HOT 1
- Is it possible to get the `max_encoded_size`?
- Shared dictionary support? HOT 3
- corrupt stream with extra bytes is not rejected HOT 2
- into_inner on Decompressor discards data due to buffering
- Add a helper for compressing a slice into a vec
- Protection against zip bombs HOT 1
- https://github.com/dropbox/dropbox-sdk-java/blob/master/License.txt
- Ghh
- Code style HOT 1
- 3.3.4 cannot be built on stable release channel
- drop in replacement of brotli, how so? HOT 1
- Changing the default quality level HOT 1
- Does rust-brotli support self-contained compressed data?
- Multithreaded compression HOT 2
- Amir
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-brotli.