inline typename V::VariantType FBUnserializer<V>::unserialize(
  folly::StringPiece serialized) {

  FBUnserializer<V> unserializer(serialized);
  return unserializer.unserializeThing(0);
}
The product does not properly control the amount of recursion which takes place,  consuming excessive resources, such as allocated memory or the program stack.