dbus-c++: Do not call std::vector::front() on empty vectors.
std::vector will crash in debug mode.
BUG=chromium:334716
TEST=Manual, see bug.
Change-Id: Ib9a3e984e13e5b7d31feaa670642037e8f1b0480
Reviewed-on: https://chromium-review.googlesource.com/182651
Commit-Queue: Lei Zhang <thestig@chromium.org>
Tested-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/include/dbus-c++/types.h b/include/dbus-c++/types.h
index fb73ce5..db7b5d6 100644
--- a/include/dbus-c++/types.h
+++ b/include/dbus-c++/types.h
@@ -296,7 +296,8 @@
inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const std::vector<uint8_t>& val)
{
DBus::MessageIter ait = iter.new_array("y");
- ait.append_array('y', &val.front(), val.size());
+ if (!val.empty())
+ ait.append_array('y', &val.front(), val.size());
iter.close_container(ait);
return iter;
}