From 022a7c8d4980f489a30c42ba82d754fed6ae4f62 Mon Sep 17 00:00:00 2001 From: Kimmo Kinnunen Date: Thu, 29 Aug 2019 16:22:39 +0300 Subject: [PATCH] Fix HexEncodeTest.TestZeroLengthNoDelimiter with enable_iterator_debugging=true Fix HexEncodeTest.TestZeroLengthNoDelimiter with enable_iterator_debugging=true, use_custom_libcxx=false on Windows. When passed empty string, hex_encode_with_delimiter would dereference std::string::end() iterator in expression &*s.begin(); Bug: webrtc:10927 Change-Id: I27ce5fecf1f2a5c49a1b85bb94e1dcc92c4c3697 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150651 Reviewed-by: Karl Wiberg Reviewed-by: Yves Gerey Commit-Queue: Kimmo Kinnunen FI Cr-Commit-Position: refs/heads/master@{#29009} --- rtc_base/string_encode.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rtc_base/string_encode.cc b/rtc_base/string_encode.cc index da31ac08b3..1570b9339d 100644 --- a/rtc_base/string_encode.cc +++ b/rtc_base/string_encode.cc @@ -89,9 +89,7 @@ std::string hex_encode_with_delimiter(const char* source, size_t srclen, char delimiter) { std::string s(hex_encode_output_length(srclen, delimiter), 0); - // TODO(nisse): When we can use C++17, switch the below hack with begin to - // just s.data(). - hex_encode_with_delimiter(&*s.begin(), source, srclen, delimiter); + hex_encode_with_delimiter(&s[0], source, srclen, delimiter); return s; }