summaryrefslogtreecommitdiffstats
path: root/lotuswordpro/source/filter/lwpfrib.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-05-22 16:38:54 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-05-22 16:38:54 +0100
commitbd32449e0b8016e9d4e2b14848780f4a641394f2 (patch)
tree48d984fd0ff6652acbfbd5e15b3c03584e6a0a67 /lotuswordpro/source/filter/lwpfrib.cxx
parentcan't correctly use auto_ptr on new[] allocated memory (diff)
downloadcore-bd32449e0b8016e9d4e2b14848780f4a641394f2.tar.gz
core-bd32449e0b8016e9d4e2b14848780f4a641394f2.zip
fix up endianness of lowhanging QuickReads
Diffstat (limited to 'lotuswordpro/source/filter/lwpfrib.cxx')
-rw-r--r--lotuswordpro/source/filter/lwpfrib.cxx17
1 files changed, 9 insertions, 8 deletions
diff --git a/lotuswordpro/source/filter/lwpfrib.cxx b/lotuswordpro/source/filter/lwpfrib.cxx
index 3deedc897777..a28341690524 100644
--- a/lotuswordpro/source/filter/lwpfrib.cxx
+++ b/lotuswordpro/source/filter/lwpfrib.cxx
@@ -339,11 +339,11 @@ void LwpFrib::ReadModifiers(LwpObjectStream* pObjStrm,ModifierInfo* pModInfo)
{
for(;;)
{
- sal_uInt8 Modifier(0);
- sal_uInt8 len(0);
+ bool bFailure;
// Get the modifier type
- if (pObjStrm->QuickRead(&Modifier, sizeof(Modifier)) != sizeof(Modifier))
+ sal_uInt8 Modifier = pObjStrm->QuickReaduInt8(&bFailure);
+ if (bFailure)
break;
// Stop when we hit the last modifier
@@ -351,19 +351,20 @@ void LwpFrib::ReadModifiers(LwpObjectStream* pObjStrm,ModifierInfo* pModInfo)
break;
// Get the modifier length
- if (pObjStrm->QuickRead(&len, sizeof(len)) != sizeof(len))
+ sal_uInt8 len = pObjStrm->QuickReaduInt8(&bFailure);
+ if (bFailure)
break;
switch (Modifier)
{
case FRIB_MTAG_FONT:
- if (len > sizeof(pModInfo->FontID))
+ if (len != sizeof(pModInfo->FontID))
{
OSL_FAIL("FRIB_MTAG_FONT entry wrong size\n");
pObjStrm->SeekRel(len);
}
else
- pObjStrm->QuickRead(&pModInfo->FontID,len);
+ pModInfo->FontID = pObjStrm->QuickReaduInt32();
break;
case FRIB_MTAG_CHARSTYLE:
pModInfo->HasCharStyle = sal_True;
@@ -374,13 +375,13 @@ void LwpFrib::ReadModifiers(LwpObjectStream* pObjStrm,ModifierInfo* pModInfo)
pModInfo->Language.Read(pObjStrm);
break;
case FRIB_MTAG_CODEPAGE:
- if (len > sizeof(pModInfo->CodePage))
+ if (len != sizeof(pModInfo->CodePage))
{
OSL_FAIL("FRIB_MTAG_CODEPAGE entry wrong size\n");
pObjStrm->SeekRel(len);
}
else
- pObjStrm->QuickRead(&pModInfo->CodePage,len);
+ pModInfo->CodePage = pObjStrm->QuickReaduInt16();
break;
case FRIB_MTAG_ATTRIBUTE:
pModInfo->aTxtAttrOverride.Read(pObjStrm);