[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-2F2Czv4BOaCWWCywQRIzpZxbTpxiKLl1CW \
VeQbclvgDcebawM0WKJoRBGVmOX59RmfHtsVJlbP-2BEgzs0d63iDMbIJocMwTH1-2BI0B6t-2BI6KC76dfw1mA65mffnc4DruV7596-2F \
yf7Y9IbBZcgg-3D-3DfxI7_9IaX5f-2FHpKL9E6YDsrt7GXrayr4Tk6CKCUhJvkNHrt7f7-2FXTU46-2BLfTq2k-2FpUYh6kcYYJzwKo40 \
w9HEQ6Ee32J7xgFrES-2Fubi6KSdJk9RLupftxBjeqJSiS78me1zlXWfk0r5GY-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-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yoiVvSSc0Ywjss83 \
d7yOEUgcCB0VGS755ZaA-2FhoVtwbuw-3D-3DPcY5_9IaX5f-2FHpKL9E6YDsrt7GXrayr4Tk6CKCUhJvkNHrt7f7-2FXTU46-2BLfTq2k \
-2FpUYh6SctJJ2i33fT1ZV-2FrkirfXWxruN8aw-2BXYpo59pvr2Ada2TkQfTjd9S5uqdhnT-2FXX96fBUnP-2FLcQKXiM-2BD2moSqwZr \
NfpH4KLXAqcbr40zWza5HV4sTcLCS6E8GVn4Py-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