[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