From: Jacquin Mininger Date: Tue, 22 May 2018 20:34:26 +0000 (-0700) Subject: Fix Issue #3771: Slice ctor checks for nullptr and creates empty string X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4420cb49da5d291c5a438ead6daebbf26b6f32b9;p=rocksdb.git 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 --- diff --git a/include/rocksdb/slice.h b/include/rocksdb/slice.h index 76ecce68..e6d8dfc6 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.