From ed75ee25f40a475f774e1e06c5375feee70b56f5 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 22 May 2017 12:26:57 -0700 Subject: CFX_ByteStringC: avoid taking unreferenceable vector::data() ptr. Otherwise, the UnownedPtr destructor will try to probe it. ASAN knows about the structure of std::vector and will flag it as such. Bug: 724960 Change-Id: I2b24501704c3845a4b16edad191d7b8f41f77587 Reviewed-on: https://pdfium-review.googlesource.com/5750 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- core/fxcrt/cfx_string_c_template.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'core/fxcrt/cfx_string_c_template.h') diff --git a/core/fxcrt/cfx_string_c_template.h b/core/fxcrt/cfx_string_c_template.h index 3a0ad74c08..89d0727b0f 100644 --- a/core/fxcrt/cfx_string_c_template.h +++ b/core/fxcrt/cfx_string_c_template.h @@ -59,8 +59,8 @@ class CFX_StringCTemplate { // Any changes to |vec| invalidate the string. explicit CFX_StringCTemplate(const std::vector& vec) { - m_Ptr = vec.data(); m_Length = pdfium::CollectionSize(vec); + m_Ptr = m_Length ? vec.data() : nullptr; } CFX_StringCTemplate& operator=(const CharType* src) { -- cgit v1.2.3