New Defects reported by Coverity Scan for LibreOffice

scan-admin at coverity.com scan-admin at coverity.com
Mon Sep 28 12:17:30 PDT 2015


Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found with Coverity Scan.

31 new defect(s) introduced to LibreOffice found with Coverity Scan.
3 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 31 defect(s)


** CID 1325077:  Uninitialized members  (UNINIT_CTOR)
/editeng/source/outliner/overflowingtxt.cxx: 149 in NonOverflowingText::NonOverflowingText(const ESelection &, bool)()


________________________________________________________________________________________________________
*** CID 1325077:  Uninitialized members  (UNINIT_CTOR)
/editeng/source/outliner/overflowingtxt.cxx: 149 in NonOverflowingText::NonOverflowingText(const ESelection &, bool)()
143     }
144     
145     NonOverflowingText::NonOverflowingText(const ESelection &aSel, bool bLastParaInterrupted)
146         : maContentSel(aSel),
147           mbLastParaInterrupted(bLastParaInterrupted)
148     {
>>>     CID 1325077:  Uninitialized members  (UNINIT_CTOR)
>>>     Non-static class member "mpContentTextObj" is not initialized in this constructor nor in any functions that it calls.
149     }
150     
151     bool NonOverflowingText::IsLastParaInterrupted() const
152     {
153         return mbLastParaInterrupted;
154     }

** CID 1325076:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 388 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
/vcl/source/gdi/salmisc.cxx: 388 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()


________________________________________________________________________________________________________
*** CID 1325076:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 388 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
386             pDstScan = new Scanline[ nDstDY ];
387             pMapX = new long[ nDstDX ];
>>>     CID 1325076:    (UNINIT)
>>>     Assigning: "pMapY" = "new long[nDstDY]", which is allocated but not initialized.
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {
392             // memory exception, clean up
393             // remark: the buffer ptr causing the exception
/vcl/source/gdi/salmisc.cxx: 388 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
386             pDstScan = new Scanline[ nDstDY ];
387             pMapX = new long[ nDstDX ];
>>>     CID 1325076:    (UNINIT)
>>>     Assigning: "pMapY" = "new long[nDstDY]", which is allocated but not initialized.
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {
392             // memory exception, clean up
393             // remark: the buffer ptr causing the exception

** CID 1325075:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 387 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
/vcl/source/gdi/salmisc.cxx: 387 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()


________________________________________________________________________________________________________
*** CID 1325075:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 387 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
381         long            nTmp, nOffset;
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
386             pDstScan = new Scanline[ nDstDY ];
>>>     CID 1325075:    (UNINIT)
>>>     Assigning: "pMapX" = "new long[nDstDX]", which is allocated but not initialized.
387             pMapX = new long[ nDstDX ];
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {
392             // memory exception, clean up
/vcl/source/gdi/salmisc.cxx: 387 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
381         long            nTmp, nOffset;
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
386             pDstScan = new Scanline[ nDstDY ];
>>>     CID 1325075:    (UNINIT)
>>>     Assigning: "pMapX" = "new long[nDstDX]", which is allocated but not initialized.
387             pMapX = new long[ nDstDX ];
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {
392             // memory exception, clean up

** CID 1325074:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 386 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
/vcl/source/gdi/salmisc.cxx: 386 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()


________________________________________________________________________________________________________
*** CID 1325074:    (UNINIT)
/vcl/source/gdi/salmisc.cxx: 386 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
380         long*           pMapY = NULL;
381         long            nTmp, nOffset;
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
>>>     CID 1325074:    (UNINIT)
>>>     Assigning: "pDstScan" = "new Scanline[nDstDY]", which is allocated but not initialized.
386             pDstScan = new Scanline[ nDstDY ];
387             pMapX = new long[ nDstDX ];
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {
/vcl/source/gdi/salmisc.cxx: 386 in StretchAndConvert(const BitmapBuffer &, const SalTwoRect &, unsigned long, const BitmapPalette *, const ColorMask *)()
380         long*           pMapY = NULL;
381         long            nTmp, nOffset;
382     
383         try
384         {
385             pSrcScan = new Scanline[ rSrcBuffer.mnHeight ];
>>>     CID 1325074:    (UNINIT)
>>>     Assigning: "pDstScan" = "new Scanline[nDstDY]", which is allocated but not initialized.
386             pDstScan = new Scanline[ nDstDY ];
387             pMapX = new long[ nDstDX ];
388             pMapY = new long[ nDstDY ];
389         }
390         catch( const std::bad_alloc& )
391         {

** CID 1325073:  Null pointer dereferences  (REVERSE_INULL)
/sc/source/ui/view/editsh.cxx: 337 in ScEditShell::Execute(SfxRequest &)()


________________________________________________________________________________________________________
*** CID 1325073:  Null pointer dereferences  (REVERSE_INULL)
/sc/source/ui/view/editsh.cxx: 337 in ScEditShell::Execute(SfxRequest &)()
331                     }
332                     bSetModified = false;
333                 }
334                 return;
335             case SID_UNICODE_NOTATION_TOGGLE:
336                 {
>>>     CID 1325073:  Null pointer dereferences  (REVERSE_INULL)
>>>     Null-checking "pHdl" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
337                     EditView* pActiveView = pHdl ? pHdl->GetActiveView() : pEditView;
338                     if( pActiveView )
339                     {
340                         OUString sInput = pEngine->GetText();
341                         ESelection aSel( pActiveView->GetSelection() );
342                         if( aSel.HasRange() )

** CID 1325072:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/textchainflow.cxx: 300 in EditingTextChainFlow::impLeaveOnlyNonOverflowingText(SdrOutliner *)()


________________________________________________________________________________________________________
*** CID 1325072:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/textchainflow.cxx: 300 in EditingTextChainFlow::impLeaveOnlyNonOverflowingText(SdrOutliner *)()
294         impBroadcastCursorInfo();
295     }
296     
297     void EditingTextChainFlow::impLeaveOnlyNonOverflowingText(SdrOutliner *pNonOverflOutl)
298     {
299         //OutlinerParaObject *pNewText =
>>>     CID 1325072:  Resource leaks  (RESOURCE_LEAK)
>>>     Ignoring storage allocated by "this->mpOverflChText->RemoveOverflowingText(pNonOverflOutl)" leaks it.
300         mpOverflChText->RemoveOverflowingText(pNonOverflOutl);
301         //impSetTextForEditingOutliner(pNewText); //XXX: Don't call it since we do everything with NonOverflowingText::ToParaObject // XXX: You may need this for Underflow
302     
303         // XXX: I'm not sure whether we need this (after all operations such as Paste don't change this - as far as I understand)
304         //GetLinkTarget()->NbcSetOutlinerParaObject(pNewText);
305     }

** CID 1325071:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/svdotxed.cxx: 337 in SdrTextObj::EndTextEdit(SdrOutliner &)()


________________________________________________________________________________________________________
*** CID 1325071:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/svdotxed.cxx: 337 in SdrTextObj::EndTextEdit(SdrOutliner &)()
331         rOutl.Clear();
332         EEControlBits nStat = rOutl.GetControlWord();
333         nStat &= ~EEControlBits::AUTOPAGESIZE;
334         rOutl.SetControlWord(nStat);
335     
336         mbInEditMode = false;
>>>     CID 1325071:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pNewText" going out of scope leaks the storage it points to.
337     }
338     
339     sal_uInt16 SdrTextObj::GetOutlinerViewAnchorMode() const
340     {
341         SdrTextHorzAdjust eH=GetTextHorizontalAdjust();
342         SdrTextVertAdjust eV=GetTextVerticalAdjust();

** CID 1325070:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/dibtools.cxx: 1552 in ImplWriteDIB(const Bitmap &, const Bitmap *, SvStream &, bool, bool)()


________________________________________________________________________________________________________
*** CID 1325070:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/dibtools.cxx: 1552 in ImplWriteDIB(const Bitmap &, const Bitmap *, SvStream &, bool, bool)()
1546             {
1547                 rOStm.SetError(SVSTREAM_GENERALERROR);
1548                 rOStm.Seek(nOldPos);
1549             }
1550     
1551             rOStm.SetEndian(nOldFormat);
>>>     CID 1325070:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pAccAlpha" going out of scope leaks the storage it points to.
1552         }
1553     
1554         return bRet;
1555     }
1556     
1557     bool ReadDIB(

** CID 1325069:  Resource leaks  (RESOURCE_LEAK)
/chart2/source/view/main/3DChartObjects.cxx: 110 in chart::opengl3D::TextCache::getText(const rtl::OUString &, bool)()


________________________________________________________________________________________________________
*** CID 1325069:  Resource leaks  (RESOURCE_LEAK)
/chart2/source/view/main/3DChartObjects.cxx: 110 in chart::opengl3D::TextCache::getText(const rtl::OUString &, bool)()
104         long nBmpHeight = aText.GetSizePixel().Height();
105         sal_uInt8* pBitmapBuf(new sal_uInt8[3* nBmpWidth * nBmpHeight]);
106         memcpy(pBitmapBuf, buf, 3* nBmpWidth * nBmpHeight);
107         TextCacheItem *pItem = new TextCacheItem(pBitmapBuf, aText.GetSizePixel());
108         maTextCache.insert(rText, pItem);
109     
>>>     CID 1325069:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pAcc" going out of scope leaks the storage it points to.
110         return *maTextCache.find(rText)->second;
111     }
112     
113     Text::Text(OpenGL3DRenderer* pRenderer, TextCache& rTextCache, const OUString& rStr, sal_uInt32 nId):
114         Renderable3DObject(pRenderer, nId),
115         maText(rTextCache.getText(rStr))

** CID 1325068:  Resource leaks  (RESOURCE_LEAK)
/editeng/source/outliner/outliner.cxx: 421 in Outliner::SetToEmptyText()()


________________________________________________________________________________________________________
*** CID 1325068:  Resource leaks  (RESOURCE_LEAK)
/editeng/source/outliner/outliner.cxx: 421 in Outliner::SetToEmptyText()()
415     }
416     
417     void Outliner::SetToEmptyText()
418     {
419         OutlinerParaObject *pEmptyTxt =  GetEmptyParaObject();
420         SetText(*pEmptyTxt);
>>>     CID 1325068:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pEmptyTxt" going out of scope leaks the storage it points to.
421     }
422     
423     void Outliner::SetText( const OUString& rText, Paragraph* pPara )
424     {
425         DBG_ASSERT(pPara,"SetText:No Para");
426     

** CID 1325067:    (RESOURCE_LEAK)
/vcl/source/gdi/dibtools.cxx: 740 in ImplReadDIBBody(SvStream &, Bitmap &, Bitmap *, unsigned long, bool)()
/vcl/source/gdi/dibtools.cxx: 740 in ImplReadDIBBody(SvStream &, Bitmap &, Bitmap *, unsigned long, bool)()


________________________________________________________________________________________________________
*** CID 1325067:    (RESOURCE_LEAK)
/vcl/source/gdi/dibtools.cxx: 740 in ImplReadDIBBody(SvStream &, Bitmap &, Bitmap *, unsigned long, bool)()
734             const sal_uInt16 nBitCount(discretizeBitcount(aHeader.nBitCount));
735             const Size aSizePixel(aHeader.nWidth, aHeader.nHeight);
736             BitmapPalette aDummyPal;
737             Bitmap aNewBmp(aSizePixel, nBitCount, &aDummyPal);
738             BitmapWriteAccess* pAcc = aNewBmp.AcquireWriteAccess();
739             if (!pAcc || pAcc->Width() != aHeader.nWidth || pAcc->Height() != aHeader.nHeight)
>>>     CID 1325067:    (RESOURCE_LEAK)
>>>     Variable "pAcc" going out of scope leaks the storage it points to.
740                 return false;
741             Bitmap aNewBmpAlpha;
742             BitmapWriteAccess* pAccAlpha = 0;
743             bool bAlphaPossible(pBmpAlpha && aHeader.nBitCount == 32);
744     
745             if (bAlphaPossible)
/vcl/source/gdi/dibtools.cxx: 740 in ImplReadDIBBody(SvStream &, Bitmap &, Bitmap *, unsigned long, bool)()
734             const sal_uInt16 nBitCount(discretizeBitcount(aHeader.nBitCount));
735             const Size aSizePixel(aHeader.nWidth, aHeader.nHeight);
736             BitmapPalette aDummyPal;
737             Bitmap aNewBmp(aSizePixel, nBitCount, &aDummyPal);
738             BitmapWriteAccess* pAcc = aNewBmp.AcquireWriteAccess();
739             if (!pAcc || pAcc->Width() != aHeader.nWidth || pAcc->Height() != aHeader.nHeight)
>>>     CID 1325067:    (RESOURCE_LEAK)
>>>     Variable "pAcc" going out of scope leaks the storage it points to.
740                 return false;
741             Bitmap aNewBmpAlpha;
742             BitmapWriteAccess* pAccAlpha = 0;
743             bool bAlphaPossible(pBmpAlpha && aHeader.nBitCount == 32);
744     
745             if (bAlphaPossible)

** CID 1325066:    (RESOURCE_LEAK)
/svx/source/svdraw/svdedxv.cxx: 1339 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()
/svx/source/svdraw/svdedxv.cxx: 1318 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()
/svx/source/svdraw/svdedxv.cxx: 1341 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()


________________________________________________________________________________________________________
*** CID 1325066:    (RESOURCE_LEAK)
/svx/source/svdraw/svdedxv.cxx: 1339 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()
1333     
1334                 if (pWin!=NULL && pWin!=pTextEditWin) SetTextEditWin(pWin);
1335     #ifdef DBG_UTIL
1336                 if (mpItemBrowser!=nullptr) mpItemBrowser->SetDirty();
1337     #endif
1338                 ImpMakeTextCursorAreaVisible();
>>>     CID 1325066:    (RESOURCE_LEAK)
>>>     Variable "pCursorManager" going out of scope leaks the storage it points to.
1339                 return true;
1340             }
1341         }
1342         return SdrGlueEditView::KeyInput(rKEvt,pWin);
1343     }
1344     
/svx/source/svdraw/svdedxv.cxx: 1318 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()
1312             /* Start special handling of keys within a chain */
1313             // We possibly move to another box before any handling
1314             bool bHandled = false;
1315             TextChainCursorManager *pCursorManager =
1316                 ImpHandleMotionThroughBoxesKeyInput(rKEvt, pWin, &bHandled);
1317             if (bHandled)
>>>     CID 1325066:    (RESOURCE_LEAK)
>>>     Variable "pCursorManager" going out of scope leaks the storage it points to.
1318                 return true;
1319             /* End special handling of keys within a chain */
1320     
1321             if (pTextEditOutlinerView->PostKeyEvent(rKEvt, pWin))
1322             {
1323                 if( mpModel )
/svx/source/svdraw/svdedxv.cxx: 1341 in SdrObjEditView::KeyInput(const KeyEvent &, vcl::Window *)()
1335     #ifdef DBG_UTIL
1336                 if (mpItemBrowser!=nullptr) mpItemBrowser->SetDirty();
1337     #endif
1338                 ImpMakeTextCursorAreaVisible();
1339                 return true;
1340             }
>>>     CID 1325066:    (RESOURCE_LEAK)
>>>     Variable "pCursorManager" going out of scope leaks the storage it points to.
1341         }
1342         return SdrGlueEditView::KeyInput(rKEvt,pWin);
1343     }
1344     
1345     bool SdrObjEditView::MouseButtonDown(const MouseEvent& rMEvt, vcl::Window* pWin)
1346     {

** CID 1325065:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/svdedxv.cxx: 560 in SdrObjEditView::ImpAfterCutOrPasteChainingEventHdl(LinkParamNone *)()


________________________________________________________________________________________________________
*** CID 1325065:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/svdedxv.cxx: 560 in SdrObjEditView::ImpAfterCutOrPasteChainingEventHdl(LinkParamNone *)()
554         SdrTextObj* pTextObj = dynamic_cast< SdrTextObj * >( GetTextEditObject());
555         if (!pTextObj)
556             return;
557         ImpChainingEventHdl();
558         TextChainCursorManager *pCursorManager = new TextChainCursorManager(this, pTextObj);
559         ImpMoveCursorAfterChainingEvent(pCursorManager);
>>>     CID 1325065:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pCursorManager" going out of scope leaks the storage it points to.
560     }
561     
562     void SdrObjEditView::ImpMoveCursorAfterChainingEvent(TextChainCursorManager *pCursorManager)
563     {
564         if (!mxTextEditObj.is() || !pCursorManager)
565             return;

** CID 1325064:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/textchainflow.cxx: 187 in TextChainFlow::ExecuteUnderflow(SdrOutliner *)()


________________________________________________________________________________________________________
*** CID 1325064:  Resource leaks  (RESOURCE_LEAK)
/svx/source/svdraw/textchainflow.cxx: 187 in TextChainFlow::ExecuteUnderflow(SdrOutliner *)()
181         pOutl->SetText(*pNewText);
182     
183         //GetTextChain()->SetNilChainingEvent(mpTargetLink, false);
184     
185         // Check for new overflow
186         CheckForFlowEvents(pOutl);
>>>     CID 1325064:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pNewText" going out of scope leaks the storage it points to.
187     }
188     
189     void TextChainFlow::ExecuteOverflow(SdrOutliner *pNonOverflOutl, SdrOutliner *pOverflOutl)
190     {
191         //GetTextChain()->SetNilChainingEvent(mpTargetLink, true);
192         // Leave only non overflowing text

** CID 1325063:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/bitmap3.cxx: 1131 in Bitmap::ImplScaleFast(const double &, const double &)()


________________________________________________________________________________________________________
*** CID 1325063:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/bitmap3.cxx: 1131 in Bitmap::ImplScaleFast(const double &, const double &)()
1125                     }
1126                 }
1127                 ReleaseAccess( pReadAcc );
1128     
1129                 if( bRet )
1130                     ImplAssignWithSize( aNewBmp );
>>>     CID 1325063:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pWriteAcc" going out of scope leaks the storage it points to.
1131             }
1132         }
1133     
1134         return bRet;
1135     }
1136     

** CID 1325062:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/bitmap3.cxx: 2616 in Bitmap::ImplConvolutionPass(Bitmap&, BitmapReadAccess *, int, double *, int *, int *)()


________________________________________________________________________________________________________
*** CID 1325062:  Resource leaks  (RESOURCE_LEAK)
/vcl/source/gdi/bitmap3.cxx: 2616 in Bitmap::ImplConvolutionPass(Bitmap&, BitmapReadAccess *, int, double *, int *, int *)()
2610     
2611     bool Bitmap::ImplConvolutionPass(Bitmap& aNewBitmap, BitmapReadAccess* pReadAcc, int aNumberOfContributions, double* pWeights, int* pPixels, int* pCount)
2612     {
2613         BitmapWriteAccess* pWriteAcc = aNewBitmap.AcquireWriteAccess();
2614     
2615         if (!pReadAcc || !pWriteAcc)
>>>     CID 1325062:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pWriteAcc" going out of scope leaks the storage it points to.
2616             return false;
2617     
2618         const int nHeight = GetSizePixel().Height();
2619         assert(GetSizePixel().Height() == aNewBitmap.GetSizePixel().Width());
2620         const int nWidth = GetSizePixel().Width();
2621         assert(GetSizePixel().Width() == aNewBitmap.GetSizePixel().Height());

** CID 1325061:  Resource leaks  (RESOURCE_LEAK)
/vcl/unx/generic/gdi/salbmp.cxx: 565 in X11SalBitmap::ImplCreateXImage(SalDisplay *, SalX11Screen, long, const SalTwoRect &) const()


________________________________________________________________________________________________________
*** CID 1325061:  Resource leaks  (RESOURCE_LEAK)
/vcl/unx/generic/gdi/salbmp.cxx: 565 in X11SalBitmap::ImplCreateXImage(SalDisplay *, SalX11Screen, long, const SalTwoRect &) const()
559                 }
560                 else
561                 {
562                     XDestroyImage( pImage );
563                     pImage = NULL;
564                 }
>>>     CID 1325061:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "pDstBuf" going out of scope leaks the storage it points to.
565             }
566         }
567     
568         return pImage;
569     }
570     

** CID 1325060:  Error handling issues  (NEGATIVE_RETURNS)
/vcl/source/glyphs/graphite_layout.cxx: 742 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()


________________________________________________________________________________________________________
*** CID 1325060:  Error handling issues  (NEGATIVE_RETURNS)
/vcl/source/glyphs/graphite_layout.cxx: 742 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()
736                 for (int n = firstChar; n <= lastChar; ++n)
737                     if (mvCharDxs[n - mnMinCharPos] != -1)
738                         mvCharDxs[n - mnMinCharPos] += nDWidth + nDGlyphOrigin;
739             for (int n = i; n < nLastGlyph; n++)
740                 mvGlyphs[n].maLinearPos.X() += (nDGlyphOrigin + nDWidth) * (bRtl ? -1 : 1);
741     
>>>     CID 1325060:  Error handling issues  (NEGATIVE_RETURNS)
>>>     "nBaseGlyph" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]
742             rDeltaWidth[nBaseGlyph] = nDWidth;
743     #ifdef GRLAYOUT_DEBUG
744             fprintf(grLog(),"c%d=%d g%d-%d dW%ld-%ld=%ld dX%ld x%ld @%d=%d\n", firstChar, lastChar, i, nLastGlyph, nNewClusterWidth, nOrigClusterWidth, nDWidth, nDGlyphOrigin, mvGlyphs[i].maLinearPos.X(), mvCharDxs[lastChar - mnMinCharPos], args.mpDXArray[lastChar - args.mnMinCharPos]);
745     #endif
746             i = nLastGlyph - 1;
747             if (i >= endGi - 1)

** CID 1325059:    (NEGATIVE_RETURNS)
/vcl/source/glyphs/graphite_layout.cxx: 693 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()
/vcl/source/glyphs/graphite_layout.cxx: 693 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()


________________________________________________________________________________________________________
*** CID 1325059:    (NEGATIVE_RETURNS)
/vcl/source/glyphs/graphite_layout.cxx: 693 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()
687         fprintf(grLog(),"ApplyDx %d-%d=%d-%d\n", startChar, endChar, startGi, endGi);
688     #endif
689     
690         for (int i = startGi; i < endGi; ++i)
691         {
692             // calculate visual cluster bounds
>>>     CID 1325059:    (NEGATIVE_RETURNS)
>>>     "i" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]
693             int firstChar = mvGlyph2Char[i];
694             int nBaseGlyph = mvChar2BaseGlyph[firstChar - mnMinCharPos];
695             while (nBaseGlyph == -1 && i < endGi)
696             {
697                 ++i;
698                 firstChar = mvGlyph2Char[i];
/vcl/source/glyphs/graphite_layout.cxx: 693 in GraphiteLayout::ApplyDXArray(ImplLayoutArgs &, std::vector<int, std::allocator<int>> &)()
687         fprintf(grLog(),"ApplyDx %d-%d=%d-%d\n", startChar, endChar, startGi, endGi);
688     #endif
689     
690         for (int i = startGi; i < endGi; ++i)
691         {
692             // calculate visual cluster bounds
>>>     CID 1325059:    (NEGATIVE_RETURNS)
>>>     "i" is passed to a parameter that cannot be negative. [Note: The source code implementation of the function has been overridden by a builtin model.]
693             int firstChar = mvGlyph2Char[i];
694             int nBaseGlyph = mvChar2BaseGlyph[firstChar - mnMinCharPos];
695             while (nBaseGlyph == -1 && i < endGi)
696             {
697                 ++i;
698                 firstChar = mvGlyph2Char[i];

** CID 1325058:  Null pointer dereferences  (FORWARD_NULL)
/sc/source/ui/view/editsh.cxx: 337 in ScEditShell::Execute(SfxRequest &)()


________________________________________________________________________________________________________
*** CID 1325058:  Null pointer dereferences  (FORWARD_NULL)
/sc/source/ui/view/editsh.cxx: 337 in ScEditShell::Execute(SfxRequest &)()
331                     }
332                     bSetModified = false;
333                 }
334                 return;
335             case SID_UNICODE_NOTATION_TOGGLE:
336                 {
>>>     CID 1325058:  Null pointer dereferences  (FORWARD_NULL)
>>>     Comparing "pHdl" to null implies that "pHdl" might be null.
337                     EditView* pActiveView = pHdl ? pHdl->GetActiveView() : pEditView;
338                     if( pActiveView )
339                     {
340                         OUString sInput = pEngine->GetText();
341                         ESelection aSel( pActiveView->GetSelection() );
342                         if( aSel.HasRange() )


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://scan.coverity.com/projects/libreoffice?tab=overview

To manage Coverity Scan email notifications for "libreoffice at lists.freedesktop.org", click https://scan.coverity.com/subscriptions/edit?email=libreoffice%40lists.freedesktop.org&token=d6481d718a775246b2340f282ebe5939



More information about the LibreOffice mailing list