Merge pull request #1162 from brian-peloton/master

Avoid upcasting uninitialized pointers
pull/1166/head
Feng Xiao 9 years ago
commit f2b6dbb8b3
  1. 4
      src/google/protobuf/stubs/statusor.h

@ -224,14 +224,14 @@ inline StatusOr<T>& StatusOr<T>::operator=(const StatusOr<T>& other) {
template<typename T>
template<typename U>
inline StatusOr<T>::StatusOr(const StatusOr<U>& other)
: status_(other.status_), value_(other.value_) {
: status_(other.status_), value_(other.status_.ok() ? other.value_ : NULL) {
}
template<typename T>
template<typename U>
inline StatusOr<T>& StatusOr<T>::operator=(const StatusOr<U>& other) {
status_ = other.status_;
value_ = other.value_;
if (status_.ok()) value_ = other.value_;
return *this;
}

Loading…
Cancel
Save