From 9947f75cf05e6f6945aecf7a130ac8a9ed5124ec Mon Sep 17 00:00:00 2001 From: "mahlon@martini.nu" Date: Fri, 22 Oct 2021 19:59:46 +0000 Subject: [PATCH] Bugfix: strlcpy stops on NUL, which can corrupt Marshalled data. Bump version for release. FossilOrigin-Name: daca241b41947101f697a0a82dc86b34ccd6d7c230ca004bc47d58c8f0c485b7 --- ext/mdbx_ext/database.c | 4 ++-- lib/mdbx.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/mdbx_ext/database.c b/ext/mdbx_ext/database.c index 2bc2afa..e400341 100644 --- a/ext/mdbx_ext/database.c +++ b/ext/mdbx_ext/database.c @@ -123,7 +123,7 @@ rmdbx_key_for( VALUE key, MDBX_val *ckey ) VALUE key_str = rb_funcall( key, rb_intern("to_s"), 0 ); ckey->iov_len = RSTRING_LEN( key_str ); ckey->iov_base = malloc( ckey->iov_len ); - strlcpy( ckey->iov_base, StringValuePtr(key_str), ckey->iov_len + 1 ); + memcpy( ckey->iov_base, StringValuePtr(key_str), ckey->iov_len ); } @@ -140,7 +140,7 @@ rmdbx_val_for( VALUE self, VALUE val, MDBX_val *data ) data->iov_len = RSTRING_LEN( val ); data->iov_base = malloc( data->iov_len ); - strlcpy( data->iov_base, StringValuePtr(val), data->iov_len + 1 ); + memcpy( data->iov_base, StringValuePtr(val), data->iov_len ); } diff --git a/lib/mdbx.rb b/lib/mdbx.rb index 41d4fd3..2e3d737 100644 --- a/lib/mdbx.rb +++ b/lib/mdbx.rb @@ -13,7 +13,7 @@ module MDBX extend Loggability # The version of this gem. - VERSION = '0.3.2' + VERSION = '0.3.3' log_as :mdbx