Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion c_src/zstd_nif.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,12 @@ static ERL_NIF_TERM zstd_nif_compress_stream(ErlNifEnv* env, int argc, const ERL
return enif_make_tuple2(env, zstd_atom_error, zstd_atom_invalid);

/* all output binary buffer */
if (!(enif_alloc_binary(ZSTD_compressBound(in.size), &out))) {
size_t buffer_size = ZSTD_compressBound(in.size);
if(ZSTD_isError(buffer_size)) {
enif_release_binary(&in);
return enif_make_tuple2(env, zstd_atom_error, enif_make_string(env, ZSTD_getErrorName(buffer_size), ERL_NIF_LATIN1));
}
if (!(enif_alloc_binary(buffer_size, &out))) {
enif_release_binary(&in);
return enif_make_tuple2(env, zstd_atom_error, zstd_atom_enomem);
}
Expand Down
2 changes: 1 addition & 1 deletion test/zstd_tests.erl
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ zstd_test() ->
zstd:compress(Data))).

zstd_stream_test() ->
Bin = << <<"A">> || _ <- lists:seq(1, 1024 * 1024) >>,
Bin = rand:bytes(1000000),
CStream = zstd:new_compression_stream(),
ok =
zstd:compression_stream_init(CStream,
Expand Down