[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    New Defects reported by Coverity Scan for krita
From:       scan-admin () coverity ! com
Date:       2021-03-16 15:54:06
Message-ID: 6050d49e2b17_1d13c22ac657ebcf6047325 () prd-scan-dashboard-0 ! mail
[Download RAW message or body]

Hi,

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

125 new defect(s) introduced to krita found with Coverity Scan.
87 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 125 defect(s)


** CID 329513:  Uninitialized variables  (UNINIT)


________________________________________________________________________________________________________
                
*** CID 329513:  Uninitialized variables  (UNINIT)
/home/boud/dev/krita/libs/ui/widgets/kis_custom_image_widget.cc: 314 in \
KisCustomImageWidget::createNewImage()() 308         double resolution ;
309         if (cmbResolutionUnit->currentText() == pixelsInchStr) {
310             resolution = doubleResolution->value() / 72.0;  // internal \
resolution is in pixels per pt 311         } else if \
(cmbResolutionUnit->currentText() == pixelsCentimeterStr) { 312             \
resolution = doubleResolution->value() / 28.34; 313         }
> > > CID 329513:  Uninitialized variables  (UNINIT)
> > > Using uninitialized value "resolution" when calling "KoUnit".
314         width = static_cast<qint32>(0.5  + KoUnit(KoUnit::Pixel, \
resolution).toUserValuePrecise(m_width)); 315         height = \
static_cast<qint32>(0.5 + KoUnit(KoUnit::Pixel, \
resolution).toUserValuePrecise(m_height)); 316     
317         QColor qc = cmbColor->color().toQColor();
318         qc.setAlpha(backgroundOpacity());
319         KoColor bgColor(qc, cs);

** CID 329512:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329512:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/libs/flake/svg/SvgStyleWriter.cpp: 406 in \
SvgStyleWriter::saveSvgMeshGradient(SvgMeshGradient *, const QTransform &, \
SvgSavingContext &)() 400     }
401     
402     QString SvgStyleWriter::saveSvgMeshGradient(SvgMeshGradient *gradient,
403                                                 const QTransform& transform,
404                                                 SvgSavingContext &context)
405     {
> > > CID 329512:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "gradient" to "isValid", which dereferences it.
406         if (!gradient && gradient->isValid())
407             return QString();
408     
409         const QString uid = context.createUID("meshgradient");
410         context.styleWriter().startElement("meshgradient");
411         context.styleWriter().addAttribute("id", uid);

** CID 329511:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329511:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/plugins/paintops/mypaint/MyPaintCurveOptionWidget.cpp: 111 in \
KisMyPaintCurveOptionWidget::updateRangeSpinBoxes(KisSharedPtr<KisDynamicSensor>) \
const() 105         KisMyPaintBrushOption* mySensor = \
dynamic_cast<KisMyPaintBrushOption*>(sensor.data()); 106         \
m_curveOptionWidget->xMinBox->blockSignals(true); 107         \
m_curveOptionWidget->xMaxBox->blockSignals(true); 108         \
m_curveOptionWidget->yMinBox->blockSignals(true); 109         \
m_curveOptionWidget->yMaxBox->blockSignals(true); 110     
> > > CID 329511:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "mySensor" to "getXRangeMin", which dereferences it.
111         m_curveOptionWidget->xMinBox->setValue( mySensor->getXRangeMin());
112         m_curveOptionWidget->xMaxBox->setValue( mySensor->getXRangeMax());
113         m_curveOptionWidget->yMinBox->setValue( mySensor->getYRangeMin());
114         m_curveOptionWidget->yMaxBox->setValue( mySensor->getYRangeMax());
115     
116         m_curveOptionWidget->xMinBox->blockSignals(false);

** CID 329510:    (USE_AFTER_FREE)
/usr/include/c++/9/bits/stl_algo.h: 1827 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisNode>>::iterator, \
                __gnu_cxx::__ops::_Val_comp_iter<CompareNodesFunctor>>(T1, T2)()
/usr/include/c++/9/bits/stl_algo.h: 1827 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisCanvasDecoration>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<bool (*)(KisSharedPtr<KisCanvasDecoration>, \
                KisSharedPtr<KisCanvasDecoration>)>>(T1, T2)()
/usr/include/c++/9/bits/stl_algo.h: 1834 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisCanvasDecoration>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<bool (*)(KisSharedPtr<KisCanvasDecoration>, \
                KisSharedPtr<KisCanvasDecoration>)>>(T1, T2)()
/usr/include/c++/9/bits/stl_algo.h: 1834 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisNode>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<CompareNodesFunctor>>(T1, T2)()


________________________________________________________________________________________________________
                
*** CID 329510:    (USE_AFTER_FREE)
/usr/include/c++/9/bits/stl_algo.h: 1827 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisNode>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<CompareNodesFunctor>>(T1, T2)() 1821     			      \
_Compare __comp) 1822         {
1823           typename iterator_traits<_RandomAccessIterator>::value_type
1824     	__val = _GLIBCXX_MOVE(*__last);
1825           _RandomAccessIterator __next = __last;
1826           --__next;
> > > CID 329510:    (USE_AFTER_FREE)
> > > Calling "operator ()" frees pointer "__val.d" which has already been freed.
1827           while (__comp(__val, __next))
1828     	{
1829     	  *__last = _GLIBCXX_MOVE(*__next);
1830     	  __last = __next;
1831     	  --__next;
1832     	}
/usr/include/c++/9/bits/stl_algo.h: 1827 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisCanvasDecoration>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<bool (*)(KisSharedPtr<KisCanvasDecoration>, \
KisSharedPtr<KisCanvasDecoration>)>>(T1, T2)() 1821     			      _Compare __comp)
1822         {
1823           typename iterator_traits<_RandomAccessIterator>::value_type
1824     	__val = _GLIBCXX_MOVE(*__last);
1825           _RandomAccessIterator __next = __last;
1826           --__next;
> > > CID 329510:    (USE_AFTER_FREE)
> > > Calling "operator ()" frees pointer "__val.d" which has already been freed.
1827           while (__comp(__val, __next))
1828     	{
1829     	  *__last = _GLIBCXX_MOVE(*__next);
1830     	  __last = __next;
1831     	  --__next;
1832     	}
/usr/include/c++/9/bits/stl_algo.h: 1834 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisCanvasDecoration>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<bool (*)(KisSharedPtr<KisCanvasDecoration>, \
KisSharedPtr<KisCanvasDecoration>)>>(T1, T2)() 1828     	{
1829     	  *__last = _GLIBCXX_MOVE(*__next);
1830     	  __last = __next;
1831     	  --__next;
1832     	}
1833           *__last = _GLIBCXX_MOVE(__val);
> > > CID 329510:    (USE_AFTER_FREE)
> > > Calling "~KisSharedPtr" frees pointer "__val.d" which has already been freed.
1834         }
1835     
1836       /// This is a helper function for the sort routine.
1837       template<typename _RandomAccessIterator, typename _Compare>
1838         void
1839         __insertion_sort(_RandomAccessIterator __first,
/usr/include/c++/9/bits/stl_algo.h: 1834 in \
std::__unguarded_linear_insert<QList<KisSharedPtr<KisNode>>::iterator, \
__gnu_cxx::__ops::_Val_comp_iter<CompareNodesFunctor>>(T1, T2)() 1828     	{
1829     	  *__last = _GLIBCXX_MOVE(*__next);
1830     	  __last = __next;
1831     	  --__next;
1832     	}
1833           *__last = _GLIBCXX_MOVE(__val);
> > > CID 329510:    (USE_AFTER_FREE)
> > > Calling "~KisSharedPtr" frees pointer "__val.d" which has already been freed.
1834         }
1835     
1836       /// This is a helper function for the sort routine.
1837       template<typename _RandomAccessIterator, typename _Compare>
1838         void
1839         __insertion_sort(_RandomAccessIterator __first,

** CID 329509:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/histogram/histogramdockerwidget.h: 27 in \
HistogramData::HistogramData()()


________________________________________________________________________________________________________
                
*** CID 329509:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/histogram/histogramdockerwidget.h: 27 in \
HistogramData::HistogramData()() 21     
22     
23     using HistVector = std::vector<std::vector<quint32> >; //Don't use QVector \
here - it's too slow for this purpose 24     
25     struct HistogramData
26     {
> > > CID 329509:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "colorSpace" is not initialized in this constructor nor \
> > > in any functions that it calls.
27         HistogramData() {}
28         ~HistogramData() {}
29     
30         HistVector bins;
31         const KoColorSpace* colorSpace;
32     };

** CID 329508:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/libs/image/kis_suspend_projection_updates_stroke_strategy.cpp: \
66 in KisSuspendProjectionUpdatesStrokeStrategy::Private::SuspendLod0Updates::NoFilthyUpdate::NoFilthyUpdate()()



________________________________________________________________________________________________________
                
*** CID 329508:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/libs/image/kis_suspend_projection_updates_stroke_strategy.cpp: \
66 in KisSuspendProjectionUpdatesStrokeStrategy::Private::SuspendLod0Updates::NoFilthyUpdate::NoFilthyUpdate()()
 60     
61                 QRect rect;
62                 QRect cropRect;
63             };
64     
65             struct NoFilthyUpdate {
> > > CID 329508:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "resetAnimationCache" is not initialized in this \
> > > constructor nor in any functions that it calls.
66                 NoFilthyUpdate() {}
67                 NoFilthyUpdate(const QRect &_rect, const QRect &_cropRect, bool \
_resetAnimationCache) 68                     : rect(_rect), cropRect(_cropRect), \
resetAnimationCache(_resetAnimationCache) 69                 {
70                 }
71     

** CID 329507:  Error handling issues  (CHECKED_RETURN)
/home/boud/dev/krita/libs/resources/KisTagModel.cpp: 55 in \
KisAllTagsModel::rowCount(const QModelIndex &) const()


________________________________________________________________________________________________________
                
*** CID 329507:  Error handling issues  (CHECKED_RETURN)
/home/boud/dev/krita/libs/resources/KisTagModel.cpp: 55 in \
KisAllTagsModel::rowCount(const QModelIndex &) const() 49     }
50     
51     int KisAllTagsModel::rowCount(const QModelIndex &/*parent*/) const
52     {
53         if (d->cachedRowCount < 0) {
54             QSqlQuery q;
> > > CID 329507:  Error handling issues  (CHECKED_RETURN)
> > > Calling "prepare" without checking return value (as is done elsewhere 66 out of \
> > > 73 times).
55             q.prepare("SELECT count(*)\n"
56                       "FROM   tags\n"
57                       ",      resource_types\n"
58                       "WHERE  tags.resource_type_id = resource_types.id\n"
59                       "AND    resource_types.name = :resource_type\n");
60             q.bindValue(":resource_type", d->resourceType);

** CID 329506:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/home/boud/dev/krita/libs/psd/psd.h: 489 in ()


________________________________________________________________________________________________________
                
*** CID 329506:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
/home/boud/dev/krita/libs/psd/psd.h: 489 in ()
483     
484         //using psd_layer_effects_shadow_base::setKnocksOut;
485         ~psd_layer_effects_drop_shadow();
486     };
487     
488     // isdw: https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWC \
ywQRIzpZxbTpxiKLl1CWVeQbclvgDcebawM0WKJoRBGVmOX59RmfHtsVJlbP-2BEgzs0d63iDMbIJocMwTH1-2 \
BI0B6t-2BI6KC76dfw1mA65mffnc4DruV7596-2Fyf7Y9IbBZcgg-3D-3DfxI7_9IaX5f-2FHpKL9E6YDsrt7G \
Xrayr4Tk6CKCUhJvkNHrt7f7-2FXTU46-2BLfTq2k-2FpUYh6kcYYJzwKo40w9HEQ6Ee32J7xgFrES-2Fubi6K \
SdJk9RLupftxBjeqJSiS78me1zlXWfk0r5GY-2FjzaorjCK0eUdQdI7ElJDpFveMcnQORiQqvbeP1lLOho5z6ExrKtLqPsweKASRBj17luJacHG6eqsUyAE4pg4pQg-2FAofl-2BD4VJJI-3D

> > > CID 329506:  Low impact quality  (MISSING_MOVE_ASSIGNMENT)
> > > Class "psd_layer_effects_inner_shadow" may benefit from adding a move \
> > > assignment operator. See other events which show the copy assignment operator \
> > > being applied to rvalue(s), where a move assignment may be faster.
489     class KRITAPSD_EXPORT psd_layer_effects_inner_shadow : public \
psd_layer_effects_shadow_common 490     {
491     public:
492         psd_layer_effects_inner_shadow() {
493             setKnocksOut(false);
494             setInvertsSelection(true);

** CID 329505:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329505:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/libs/widgets/KisTagSelectionWidget.cpp: 292 in \
KisTagSelectionWidget::setTagList(bool, QList<KoID> &, QList<KoID> &, QList<KoID> \
&)() 286             }
287             delete item;
288         }
289     
290     
291         WdgAddTagButton* addTagButton = \
dynamic_cast<WdgAddTagButton*>(m_addTagButton);
> > > CID 329505:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "addTagButton" to "setAvailableTagsList", which \
> > > dereferences it.
292         addTagButton->setAvailableTagsList(notSelected);
293     
294         Q_FOREACH(KoID tag, selected) {
295             WdgCloseableLabel* label = new WdgCloseableLabel(tag, m_editable, \
false, this); 296             connect(label, SIGNAL(sigRemoveTagFromSelection(KoID)), \
this, SLOT(slotRemoveTagFromSelection(KoID)), Qt::UniqueConnection); 297             \
m_layout->addWidget(label);

** CID 329504:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardModel.cpp: 43 in \
StoryboardModel::StoryboardModel(QObject *)()


________________________________________________________________________________________________________
                
*** CID 329504:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardModel.cpp: 43 in \
StoryboardModel::StoryboardModel(QObject *)() 37             , m_renderScheduler(new \
KisStoryboardThumbnailRenderScheduler(this)) 38             , \
m_renderSchedulingCompressor(1000,KisSignalCompressor::FIRST_ACTIVE) 39     {
40         connect(m_renderScheduler, SIGNAL(sigFrameCompleted(int, \
KisPaintDeviceSP)), this, SLOT(slotFrameRenderCompleted(int, KisPaintDeviceSP))); 41  \
connect(m_renderScheduler, SIGNAL(sigFrameCancelled(int)), this, \
SLOT(slotFrameRenderCancelled(int))); 42         \
connect(&m_renderSchedulingCompressor, SIGNAL(timeout()), this, \
SLOT(slotUpdateThumbnails()));
> > > CID 329504:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "m_view" is not initialized in this constructor nor in \
> > > any functions that it calls.
43     }
44     
45     StoryboardModel::~StoryboardModel()
46     {
47         delete m_renderScheduler;
48     }

** CID 329503:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/libs/image/kis_warptransform_worker.cc: 194 in \
KisWarpTransformWorker::KisWarpTransformWorker(KisWarpTransformWorker::WarpType_, \
QVector<QPointF>, QVector<QPointF>, double, KoUpdater *)()


________________________________________________________________________________________________________
                
*** CID 329503:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/libs/image/kis_warptransform_worker.cc: 194 in \
KisWarpTransformWorker::KisWarpTransformWorker(KisWarpTransformWorker::WarpType_, \
QVector<QPointF>, QVector<QPointF>, double, KoUpdater *)() 188             \
m_warpMathFunction = &rigidTransformMath; 189             break;
190         default:
191             m_warpMathFunction = 0;
192             break;
193         }
> > > CID 329503:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "m_warpCalc" is not initialized in this constructor nor \
> > > in any functions that it calls.
194     }
195     
196     KisWarpTransformWorker::~KisWarpTransformWorker()
197     {
198     }
199     

** CID 329502:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/advancedcolorselector/kis_color_selector_ring.cpp: \
26 in KisColorSelectorRing::KisColorSelectorRing(KisColorSelector *)()


________________________________________________________________________________________________________
                
*** CID 329502:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/dockers/advancedcolorselector/kis_color_selector_ring.cpp: \
26 in KisColorSelectorRing::KisColorSelectorRing(KisColorSelector *)() 20         \
KisColorSelectorComponent(parent), 21         m_cachedColorSpace(0),
22         m_cachedSize(0),
23         m_lastHue(0),
24         m_innerRingRadiusFraction(0.85)
25     {
> > > CID 329502:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "Gamma" is not initialized in this constructor nor in \
> > > any functions that it calls.
26     }
27     
28     int KisColorSelectorRing::innerRadius() const
29     {
30         return (qMin(width(), height())/2)*m_innerRingRadiusFraction;
31     }

** CID 329501:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/tools/defaulttool/defaulttool/KoShapeMeshGradientHandles.h: \
32 in KoShapeMeshGradientHandles::Handle::Handle()()


________________________________________________________________________________________________________
                
*** CID 329501:  Uninitialized members  (UNINIT_CTOR)
/home/boud/dev/krita/plugins/tools/defaulttool/defaulttool/KoShapeMeshGradientHandles.h: \
32 in KoShapeMeshGradientHandles::Handle::Handle()() 26     
27             enum Index {
28                 First = 1,
29                 Second
30             };
31     
> > > CID 329501:  Uninitialized members  (UNINIT_CTOR)
> > > Non-static class member "index" is not initialized in this constructor nor in \
> > > any functions that it calls.
32             Handle() : type(None) {}
33             Handle(Type t, const QPointF &p, int row, int col, SvgMeshPatch::Type \
segmentType, Index index = First) 34                 : type(t) , pos(p)
35                 , row(row) , col(col)
36                 , segmentType(segmentType)
37                 , index(index)

** CID 329500:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329500:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/plugins/dockers/animation/KisAnimCurvesChannelDelegate.cpp: 140 \
in KisAnimCurvesChannelDelegate::paintNodeBackground(const QStyleOptionViewItem &, \
QPainter *, const QColor &) const() 134     void \
KisAnimCurvesChannelDelegate::paintNodeBackground(const QStyleOptionViewItem \
&styleOption, QPainter *painter, const QColor &nodeColor) const 135     {
136         const bool hasValidStyle = styleOption.widget ? \
styleOption.widget->isEnabled() : (styleOption.state & QStyle::State_Enabled); 137    \
QPalette::ColorGroup cg = hasValidStyle ? QPalette::Normal : QPalette::Disabled; 138  \
 139         QRect viewArea = styleOption.rect;
> > > CID 329500:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "styleOption.widget" to "rect", which dereferences it.
140         viewArea.setLeft(styleOption.widget->rect().left());
141     
142         { // Highlight, Shadow and Selection Color
143             const QColor highlight = nodeColor.lighter(115);
144             const QColor shadow = nodeColor.darker(105);
145             painter->fillRect(viewArea, highlight);

** CID 329499:  Error handling issues  (UNCAUGHT_EXCEPT)
/home/boud/dev/krita/libs/pigment/tests/TestKoStopGradient.cpp: 50 in main()


________________________________________________________________________________________________________
                
*** CID 329499:  Error handling issues  (UNCAUGHT_EXCEPT)
/home/boud/dev/krita/libs/pigment/tests/TestKoStopGradient.cpp: 50 in main()
44         QString svgSerialization = gradient.saveSvgGradient();
45         QVERIFY2(svgSerialization.contains("icc-color"), QString("icc-color not \
found in serialization of cmyk gradient.").toLatin1()); 46         \
QVERIFY2(svgSerialization.contains("color-profile"), QString("color-profile not found \
in serialization of cmyk gradient.").toLatin1()); 47     
48     }
49     
> > > CID 329499:  Error handling issues  (UNCAUGHT_EXCEPT)
> > > In function "main(int, char **)" an exception of type "KisAssertException" is \
> > > thrown and never caught.

** CID 329498:  Incorrect expression  (USELESS_CALL)


________________________________________________________________________________________________________
                
*** CID 329498:  Incorrect expression  (USELESS_CALL)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp: \
59 in KisStoryboardThumbnailRenderScheduler::cancelAllFrameRendering()() 53           \
sortAffectedFrameQueue(); 54         }
55     }
56     
57     void KisStoryboardThumbnailRenderScheduler::cancelAllFrameRendering()
58     {
> > > CID 329498:  Incorrect expression  (USELESS_CALL)
> > > Calling "this->m_affectedFramesQueue.empty()" is only useful for its return \
> > > value, which is ignored.
59         m_affectedFramesQueue.empty();
60         m_changedFramesQueue.empty();
61         if (m_renderer->isActive()) {
62             m_renderer->cancelCurrentFrameRendering();
63         }
64         m_currentFrame = -1;

** CID 329497:    (FORWARD_NULL)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 353 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
                QStyleOptionViewItem &, const QModelIndex &)()
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 342 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)()


________________________________________________________________________________________________________
                
*** CID 329497:    (FORWARD_NULL)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 353 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 347                 else if \
(leftButton && downButtonClicked) { 348                     \
KisStoryboardChildEditCommand *cmd = new KisStoryboardChildEditCommand(index.data(), \
349                                                                                   \
index.data().toInt() - 1, 350                                                         \
index.parent().row(), 351                                                             \
index.row(), 352                                                                      \
sbModel);
> > > CID 329497:    (FORWARD_NULL)
> > > Passing null pointer "sbModel" to "setData", which dereferences it. (The \
> > > dereference happens because this is a virtual function call.)
353                     if (sbModel->setData(index, index.data().toInt() - 1)) {
354                         sbModel->pushUndoCommand(cmd);
355                     }
356                     return true;
357                 }
358             }
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 395 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 389     
390                 bool addItemButtonClicked = addItemButton.isValid() && \
addItemButton.contains(mouseEvent->pos()); 391                 bool \
deleteItemButtonClicked = deleteItemButton.isValid() && \
deleteItemButton.contains(mouseEvent->pos()); 392     
393                 StoryboardModel* sbModel = dynamic_cast<StoryboardModel*>(model);
394                 if (leftButton && addItemButtonClicked) {
> > > CID 329497:    (FORWARD_NULL)
> > > Passing null pointer "sbModel" to "insertItem", which dereferences it.
395                     sbModel->insertItem(index.parent(), true);
396                     return true;
397                 }
398                 else if (leftButton && deleteItemButtonClicked) {
399                     int row = index.parent().row();
400                     KisRemoveStoryboardCommand *command = new \
                KisRemoveStoryboardCommand(row, sbModel->getData().at(row), sbModel);
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 400 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 394                 if (leftButton && \
addItemButtonClicked) { 395                     sbModel->insertItem(index.parent(), \
true); 396                     return true;
397                 }
398                 else if (leftButton && deleteItemButtonClicked) {
399                     int row = index.parent().row();
> > > CID 329497:    (FORWARD_NULL)
> > > Passing null pointer "sbModel" to "getData", which dereferences it.
400                     KisRemoveStoryboardCommand *command = new \
KisRemoveStoryboardCommand(row, sbModel->getData().at(row), sbModel); 401     
402                     sbModel->removeItem(index.parent(), command);
403                     sbModel->pushUndoCommand(command);
404                     return true;
405                 }
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 342 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 336                 if (leftButton && \
upButtonClicked) { 337                     KisStoryboardChildEditCommand *cmd = new \
KisStoryboardChildEditCommand(index.data(), 338                                       \
index.data().toInt() + 1, 339                                                         \
index.parent().row(), 340                                                             \
index.row(), 341                                                                      \
sbModel);
> > > CID 329497:    (FORWARD_NULL)
> > > Passing null pointer "sbModel" to "setData", which dereferences it. (The \
> > > dereference happens because this is a virtual function call.)
342                     if (sbModel->setData(index, index.data().toInt() + 1)) {
343                         sbModel->pushUndoCommand(cmd);
344                     }
345                     return true;
346                 }
347                 else if (leftButton && downButtonClicked) {

** CID 329496:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329496:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/plugins/generators/gradient/KisGradientGeneratorConfiguration.cpp: \
286 in KisGradientGeneratorConfiguration::setGradient(QSharedPointer<KoAbstractGradient>)()
 280         QDomDocument document;
281         QDomElement gradientElement = document.createElement("gradient");
282         gradientElement.setAttribute("name", newGradient->name());
283     
284         if (dynamic_cast<KoStopGradient*>(newGradient.data())) {
285             KoStopGradient *gradient = \
dynamic_cast<KoStopGradient*>(newGradient.data());
> > > CID 329496:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "gradient" to "toXML", which dereferences it.
286             gradient->toXML(document, gradientElement);
287         } else if (dynamic_cast<KoSegmentGradient*>(newGradient.data())) {
288             KoSegmentGradient *gradient = \
dynamic_cast<KoSegmentGradient*>(newGradient.data()); 289             \
gradient->toXML(document, gradientElement); 290         }
291     

** CID 329495:  Null pointer dereferences  (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329495:  Null pointer dereferences  (FORWARD_NULL)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 146 in \
StoryboardDelegate::paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex \
&) const() 140                     drawSpinBox(p, option, data, i18nc("suffix in spin \
box in storyboard that means 'frames'", "f")); 141                     break;
142                 }
143                 default:
144                 {
145                     const StoryboardModel* model = dynamic_cast<const \
StoryboardModel*>(index.model());
> > > CID 329495:  Null pointer dereferences  (FORWARD_NULL)
> > > Passing null pointer "model" to "getComment", which dereferences it.
146                     if (m_view->commentIsVisible() && \
model->getComment(index.row() - 4).visibility) { 147                         \
p->setPen(QPen(option.palette.dark(), 2)); 148                         drawComment(p, \
option, index); 149                     }
150                     break;
151                 }

** CID 329494:    (FORWARD_NULL)


________________________________________________________________________________________________________
                
*** CID 329494:    (FORWARD_NULL)
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 378 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 372                     return true;
373                 }
374                 else if (leftButton && downButtonClicked) {
375                     int lastValue = model->data(index, Qt::UserRole).toInt();
376                     int value = lastValue + option.fontMetrics.height();
377                     StoryboardModel* modelSB = \
dynamic_cast<StoryboardModel*>(model);
> > > CID 329494:    (FORWARD_NULL)
> > > Passing null pointer "modelSB" to "setCommentScrollData", which dereferences \
> > > it.
378                     modelSB->setCommentScrollData(index, \
qMin(scrollBarOption.maximum, value)); 379                     return true;
380                 }
381             }
382     
383             else if (index.parent().isValid() && index.row() == \
StoryboardItem::FrameNumber && m_view->thumbnailIsVisible()) {     //thumbnail \
                add/delete events
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 371 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 365                 bool \
downButtonClicked = downButton.isValid() && downButton.contains(mouseEvent->pos()); \
366      367                 if (leftButton && upButtonClicked) {
368                     int lastValue = model->data(index, Qt::UserRole).toInt();
369                     int value = lastValue - option.fontMetrics.height();
370                     StoryboardModel* modelSB = \
dynamic_cast<StoryboardModel*>(model);
> > > CID 329494:    (FORWARD_NULL)
> > > Passing null pointer "modelSB" to "setCommentScrollData", which dereferences \
> > > it.
371                     modelSB->setCommentScrollData(index, qMax(0, value));
372                     return true;
373                 }
374                 else if (leftButton && downButtonClicked) {
375                     int lastValue = model->data(index, Qt::UserRole).toInt();
376                     int value = lastValue + option.fontMetrics.height();
/home/boud/dev/krita/plugins/dockers/storyboarddocker/StoryboardDelegate.cpp: 425 in \
StoryboardDelegate::editorEvent(QEvent *, QAbstractItemModel *, const \
QStyleOptionViewItem &, const QModelIndex &)() 419             if (leftButton && \
index.parent().isValid() && index.row() >= StoryboardItem::Comments) { 420            \
if (lastClickPosInScroll && currClickPosInScroll) { 421                     int \
lastValue = model->data(index, Qt::UserRole).toInt(); 422                     int \
value = lastValue + mouseEvent->pos().y() - m_lastDragPos.y(); 423                    \
StoryboardModel* modelSB = dynamic_cast<StoryboardModel*>(model); 424                 \
if (value >= 0 && value <= scrollBarOption.maximum) {
> > > CID 329494:    (FORWARD_NULL)
> > > Passing null pointer "modelSB" to "setCommentScrollData", which dereferences \
> > > it.
425                         modelSB->setCommentScrollData(index, value);
426                         return true;
427                     }
428                     return false;
429                 }
430                 m_lastDragPos = mouseEvent->pos();


________________________________________________________________________________________________________
 To view the defects in Coverity Scan visit, \
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31O \
Yv50yoiVvSSc0Ywjss83d7yOEUgcCB0VGS755ZaA-2FhoVtwbuw-3D-3DPcY5_9IaX5f-2FHpKL9E6YDsrt7GX \
rayr4Tk6CKCUhJvkNHrt7f7-2FXTU46-2BLfTq2k-2FpUYh6SctJJ2i33fT1ZV-2FrkirfXWxruN8aw-2BXYpo \
59pvr2Ada2TkQfTjd9S5uqdhnT-2FXX96fBUnP-2FLcQKXiM-2BD2moSqwZrNfpH4KLXAqcbr40zWza5HV4sTcLCS6E8GVn4Py-2BlLDgEf7BsaqRghHw-2BNsOhdELeJfM8B8w2dWqB7bg-2Flew-3D



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic