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 { ...@@ -43,7 +43,6 @@ namespace chelp {
{ {
} }
OUString getHash() OUString getHash()
{ {
if( m_ptr ) if( m_ptr )
...@@ -88,11 +87,15 @@ namespace chelp { ...@@ -88,11 +87,15 @@ namespace chelp {
if( ! m_ptr ) if( ! m_ptr )
return OUString(); return OUString();
sal_Int32 sizeOfTitle = //fdo#82025 - use strlen instead of stored length byte to determine string len
( sal_Int32 ) m_ptr[ 2 + m_ptr[0] + ( sal_Int32 ) m_ptr[ 1+ ( sal_Int32 ) m_ptr[0] ] ]; //There is a one byte length field at m_ptr[2 + m_ptr[0] + m_ptr[1
return OUString( m_ptr + 3 + m_ptr[0] + ( sal_Int32 ) m_ptr[ 1+ ( sal_Int32 ) m_ptr[0] ], //+ m_ptr[0]]] but by default sal_Char is signed so anything larger
sizeOfTitle, //than 127 defaults to a negative value, casting it would allow up
RTL_TEXTENCODING_UTF8 ); //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