From 5d1b6f9838b6de7ef8d73b7b262196c052b8acca Mon Sep 17 00:00:00 2001 From: Yoni Fogel Date: Thu, 12 Jun 2008 23:13:04 +0000 Subject: [PATCH] Addresses #912 Use ybt->size field if ybt->ulen field is unset (for DB_DBT_REALLOC). git-svn-id: file:///svn/tokudb@4505 c7de825b-a66e-492c-adef-691d508d4ae1 --- newbrt/ybt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/newbrt/ybt.c b/newbrt/ybt.c index 6deed7564de..db2f36235d9 100644 --- a/newbrt/ybt.c +++ b/newbrt/ybt.c @@ -51,8 +51,9 @@ static inline int dbt_set_copy(DBT* ybt, bytevec* datap, ITEMLEN len, void** sta tempdata = (void*)*datap; do_malloc = FALSE; } - else if (ybt->flags==DB_DBT_REALLOC) { - if (ybt->data && ybt->ulen>=len && ybt->ulen/2<=len) { + else if (ybt->flags==DB_DBT_REALLOC && ybt->data) { + if (!ybt->ulen) ybt->ulen = ybt->size; + if (ybt->ulen>=len && ybt->ulen/2<=len) { tempdata = ybt->data; do_malloc = FALSE; }