Fix push_back() to shared fbstring bug.
[folly.git] / folly / FBString.h
index 9280bf8b814e262b5646883b275fc41d55832eb5..9ac8918ce7e22d14af08bc79ebeb7f8650fb1740 100644 (file)
@@ -626,7 +626,7 @@ public:
     } else {
       sz = ml_.size_;
       newSz = ml_.size_ + delta;
-      if (newSz > ml_.capacity()) {
+      if (newSz > capacity()) {
         reserve(newSz);
       }
     }
@@ -653,7 +653,7 @@ public:
       reserve(maxSmallSize * 2);
     } else {
       sz = ml_.size_;
-      cp = ml_.capacity();
+      cp = capacity();  // != ml_.capacity() for isShared()
       if (sz == cp) reserve(cp * 3 / 2);
     }
     assert(capacity() >= sz + 1);