]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cstring: don't fall over on null initialization
authorSage Weil <sage@newdream.net>
Thu, 19 Mar 2009 21:35:46 +0000 (14:35 -0700)
committerSage Weil <sage@newdream.net>
Thu, 19 Mar 2009 21:35:46 +0000 (14:35 -0700)
(like std::string does)

src/include/cstring.h

index c2b1449350d643c889e992f9f8e1ca3b3b310109..eef7cda27716ede3d8eb6b90f1c73521717bbf0d 100644 (file)
@@ -22,10 +22,15 @@ class cstring {
     _data[l] = 0;
   }
   cstring(const char *s) { 
-    _len = strlen(s);
-    _data = new char[_len + 1];
-    memcpy(_data, s, _len);
-    _data[_len] = 0;
+    if (s) {
+      _len = strlen(s);
+      _data = new char[_len + 1];
+      memcpy(_data, s, _len);
+      _data[_len] = 0;
+    } else {
+      _len = 0;
+      _data = 0;
+    }
   }
   cstring(const string &s) {
     _len = s.length();