diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-09-14 09:18:43 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2021-09-14 13:27:47 +0200 |
commit | 19244b9f316cbbc22d9a7b0bfa13f0ef62b947d7 (patch) | |
tree | 0c1fe88d77f2423e6c84c1a3c9a05082339369d8 /vcl | |
parent | f09596c9dfa627f51c431dd32ae5953d55b867ee (diff) |
ofz: MemorySanitizer: use-of-uninitialized-value
Change-Id: Ib3afba47155bc70f579284244514d745f1075f7a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122080
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/filter/ipict/ipict.cxx | 45 |
1 files changed, 34 insertions, 11 deletions
diff --git a/vcl/source/filter/ipict/ipict.cxx b/vcl/source/filter/ipict/ipict.cxx index ca3a7ab0b41a..1adc05b7b69a 100644 --- a/vcl/source/filter/ipict/ipict.cxx +++ b/vcl/source/filter/ipict/ipict.cxx @@ -1306,7 +1306,6 @@ static const char* operationName(sal_uInt16 nOpcode) sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) { - sal_uInt16 nUSHORT; Point aPoint; sal_uInt64 nDataSize=0; PictDrawingMethod shapeDMethod = PictDrawingMethod::UNDEFINED; @@ -1330,6 +1329,7 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) break; case 0x0001: { // Clip + sal_uInt16 nUSHORT(0); tools::Rectangle aRect; pPict->ReadUInt16( nUSHORT ); nDataSize=nUSHORT; @@ -1350,6 +1350,8 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) break; case 0x0003: // TxFont + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); if (nUSHORT <= 1) aActFont.SetFamily(FAMILY_SWISS); else if (nUSHORT <= 12) aActFont.SetFamily(FAMILY_DECORATIVE); @@ -1362,7 +1364,7 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) eActMethod = PictDrawingMethod::UNDEFINED; nDataSize=2; break; - + } case 0x0004: { // TxFace char nFace; pPict->ReadChar( nFace ); @@ -1395,6 +1397,8 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) break; } case 0x0008: // PnMode + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); // internal code for postscript command (Quickdraw Reference Drawing B-30,B-34) if (nUSHORT==23) eActROP = RasterOp::N1; @@ -1413,7 +1417,7 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) eActMethod = PictDrawingMethod::UNDEFINED; nDataSize=2; break; - + } case 0x0009: // PnPat nDataSize=eActPenPattern.read(*pPict); eActMethod = PictDrawingMethod::UNDEFINED; @@ -1435,6 +1439,7 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x000d: // TxSize { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); aActFont.SetFontSize( Size( 0, static_cast<tools::Long>(nUSHORT) ) ); eActMethod = PictDrawingMethod::UNDEFINED; @@ -1574,10 +1579,12 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x0025: // Reserved (n Bytes) case 0x0026: // Reserved (n Bytes) case 0x0027: // Reserved (n Bytes) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; break; - + } case 0x0028: // LongText aTextPosition=ReadPoint(); nDataSize=4+ReadAndDrawText(); @@ -1600,6 +1607,7 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) break; case 0x002c: { // fontName + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=nUSHORT+2; pPict->ReadUInt16( nUSHORT ); if (nUSHORT <= 1) aActFont.SetFamily(FAMILY_SWISS); @@ -1625,15 +1633,19 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) break; case 0x002e: // glyphState + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; break; - + } case 0x002f: // Reserved (n Bytes) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; break; - + } case 0x0030: // frameRect case 0x0031: // paintRect case 0x0032: // eraseRect @@ -1757,9 +1769,11 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x0075: // Reserved (Polygon-Size) case 0x0076: // Reserved (Polygon-Size) case 0x0077: // Reserved (Polygon-Size) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=nUSHORT; break; - + } case 0x0078: // frameSamePoly case 0x0079: // paintSamePoly case 0x007a: // eraseSamePoly @@ -1785,9 +1799,11 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x0085: // Reserved (Region-Size) case 0x0086: // Reserved (Region-Size) case 0x0087: // Reserved (Region-Size) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=nUSHORT; break; - + } case 0x0088: // frameSameRgn case 0x0089: // paintSameRgn case 0x008a: // eraseSameRgn @@ -1824,9 +1840,11 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x0095: // Reserved (n Bytes) case 0x0096: // Reserved (n Bytes) case 0x0097: // Reserved (n Bytes) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; break; - + } case 0x0098: { // PackBitsRect BitmapEx aBmp; tools::Rectangle aSrcRect, aDestRect; @@ -1863,18 +1881,23 @@ sal_uInt64 PictReader::ReadData(sal_uInt16 nOpcode) case 0x009d: // Reserved (n Bytes) case 0x009e: // Reserved (n Bytes) case 0x009f: // Reserved (n Bytes) + { + sal_uInt16 nUSHORT(0); pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; break; - + } case 0x00a0: // ShortComment nDataSize=2; break; case 0x00a1: // LongComment + { + sal_uInt16 nUSHORT(0); pPict->SeekRel(2); pPict->ReadUInt16( nUSHORT ); nDataSize=4+nUSHORT; break; - + } default: // 0x00a2 bis 0xffff (most times reserved) + sal_uInt16 nUSHORT(0); if (nOpcode<=0x00af) { pPict->ReadUInt16( nUSHORT ); nDataSize=2+nUSHORT; } else if (nOpcode<=0x00cf) { nDataSize=0; } else if (nOpcode<=0x00fe) { sal_uInt32 nTemp(0); pPict->ReadUInt32(nTemp) ; nDataSize = nTemp; nDataSize+=4; } |