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

ofz#3577 Timeout

little speculative given https://github.com/google/oss-fuzz/issues/960

Change-Id: Ie844ebdd1e693ce8589fba9b7370d55914d844a7
Reviewed-on: https://gerrit.libreoffice.org/44377Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 2bea600f
......@@ -276,7 +276,7 @@ OUString SfxOleStringHelper::ImplLoadString8( SvStream& rStrm ) const
return OUString();
// load character buffer
OString sValue(read_uInt8s_ToOString(rStrm, nSize - 1));
if (rStrm.good())
if (rStrm.good() && rStrm.remainingSize())
rStrm.SeekRel(1); // skip null-byte at end
return OStringToOUString(sValue, GetTextEncoding());
}
......@@ -292,14 +292,13 @@ OUString SfxOleStringHelper::ImplLoadString16( SvStream& rStrm )
return OUString();
// load character buffer
OUString aValue = read_uInt16s_ToOUString(rStrm, nSize - 1);
if (rStrm.good())
{
sal_Int32 nSkip(2); // skip null-byte at end
// stream is always padded to 32-bit boundary, skip 2 bytes on odd character count
if ((nSize & 1) == 1)
nSkip += 2;
sal_Int32 nSkip(2); // skip null-byte at end
// stream is always padded to 32-bit boundary, skip 2 bytes on odd character count
if ((nSize & 1) == 1)
nSkip += 2;
nSkip = std::min<sal_uInt32>(nSkip, rStrm.remainingSize());
if (rStrm.good() && nSkip)
rStrm.SeekRel(nSkip);
}
return aValue;
}
......
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