Kaydet (Commit) ad40561d authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: fdo#82025 use strlen instead of stored length byte

Change-Id: I58cf2391d7bf2480cd12d2b1b4cf73f346f4f95f
üst a59e2d4f
......@@ -43,7 +43,6 @@ namespace chelp {
{
}
OUString getHash()
{
if( m_ptr )
......@@ -88,11 +87,15 @@ namespace chelp {
if( ! m_ptr )
return OUString();
sal_Int32 sizeOfTitle =
( sal_Int32 ) m_ptr[ 2 + m_ptr[0] + ( sal_Int32 ) m_ptr[ 1+ ( sal_Int32 ) m_ptr[0] ] ];
return OUString( m_ptr + 3 + m_ptr[0] + ( sal_Int32 ) m_ptr[ 1+ ( sal_Int32 ) m_ptr[0] ],
sizeOfTitle,
RTL_TEXTENCODING_UTF8 );
//fdo#82025 - use strlen instead of stored length byte to determine string len
//There is a one byte length field at m_ptr[2 + m_ptr[0] + m_ptr[1
//+ m_ptr[0]]] but by default sal_Char is signed so anything larger
//than 127 defaults to a negative value, casting it would allow up
//to 255 but instead make use of the null termination to avoid
//running into a later problem with strings >= 255
const sal_Char* pTitle = m_ptr + 3 + m_ptr[0] + ( sal_Int32 ) m_ptr[ 1+ ( sal_Int32 ) m_ptr[0] ];
return OUString(pTitle, rtl_str_getLength(pTitle), RTL_TEXTENCODING_UTF8);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment