diff --git a/include/flatbuffers/stl_emulation.h b/include/flatbuffers/stl_emulation.h index 3cb3c76d6..7e7e978a4 100644 --- a/include/flatbuffers/stl_emulation.h +++ b/include/flatbuffers/stl_emulation.h @@ -51,12 +51,12 @@ inline char string_back(const std::string &value) { template inline T *vector_data(std::vector &vector) { // In some debug environments, operator[] does bounds checking, so &vector[0] // can't be used. - return &(*vector.begin()); + return vector.empty() ? nullptr : &vector[0]; } template inline const T *vector_data( const std::vector &vector) { - return &(*vector.begin()); + return vector.empty() ? nullptr : &vector[0]; } template