From 4420cb49da5d291c5a438ead6daebbf26b6f32b9 Mon Sep 17 00:00:00 2001 From: Jacquin Mininger Date: Tue, 22 May 2018 13:34:26 -0700 Subject: [PATCH] Fix Issue #3771: Slice ctor checks for nullptr and creates empty string Summary: Fix Issue #3771 : Check for nullptr in Slice constructor Slice ctor checks for nullptr and creates empty string if the string does not exist Closes https://github.com/facebook/rocksdb/pull/3887 Differential Revision: D8098852 Pulled By: ajkr fbshipit-source-id: 04471077defa9776ce7b8c389a61312ce31002fb --- include/rocksdb/slice.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/rocksdb/slice.h b/include/rocksdb/slice.h index 76ecce684..e6d8dfc60 100644 --- a/include/rocksdb/slice.h +++ b/include/rocksdb/slice.h @@ -43,7 +43,9 @@ class Slice { // Create a slice that refers to s[0,strlen(s)-1] /* implicit */ - Slice(const char* s) : data_(s), size_(strlen(s)) { } + Slice(const char* s) : data_(s) { + size_ = (s == nullptr) ? 0 : strlen(s); + } // Create a single slice from SliceParts using buf as storage. // buf must exist as long as the returned Slice exists.