diff --git a/upb/pb/decoder.h b/upb/pb/decoder.h index 86e51dfd57..709db49e96 100644 --- a/upb/pb/decoder.h +++ b/upb/pb/decoder.h @@ -117,6 +117,7 @@ void upb_pbdecoder_reset(upb_pbdecoder *d); * decoded data to its output sink. */ class upb::pb::DecoderPtr { public: + DecoderPtr() : ptr_(nullptr) {} DecoderPtr(upb_pbdecoder* ptr) : ptr_(ptr) {} upb_pbdecoder* ptr() { return ptr_; } diff --git a/upb/sink.h b/upb/sink.h index e41feae24e..4d6d0a33c9 100644 --- a/upb/sink.h +++ b/upb/sink.h @@ -503,7 +503,7 @@ bool upb_bufsrc_putbuf(const char *buf, size_t len, upb_bytessink sink); namespace upb { template bool PutBuffer(const T& str, BytesSink sink) { - return upb_bufsrc_putbuf(str.c_str(), str.size(), sink.sink()); + return upb_bufsrc_putbuf(str.data(), str.size(), sink.sink()); } }