New Defects reported by Coverity Scan for digiKam

scan-admin at coverity.com scan-admin at coverity.com
Sat Jan 17 19:52:03 GMT 2026


Hi,

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

10 new defect(s) introduced to digiKam found with Coverity Scan.
2 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 10 of 10 defect(s)


** CID 1680465:       Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)


_____________________________________________________________________________________________
*** CID 1680465:         Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/home/gilles/devel/GIT/8.x/core/libs/properties/itempropertiessidebardb.cpp: 916             in Digikam::ItemPropertiesSideBarDB::setImageSelectionPropertiesInformation()()
910         // -- Total Album Items Properties
911     
912         d->selectionPropertiesTab->setTotalCount(d->allInfos.count());
913     
914         qint64 totalFileSize           = selectionFileSize;
915         ItemInfoList totalGroups       = selectionGroups;
>>>     CID 1680465:         Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
>>>     "selectionMimes" is copied in call to copy constructor for class "QHash<QString, int>", when it could be moved instead.
916         QHash<QString, int> totalMimes = selectionMimes;
917     
918         for (const ItemInfo& info : std::as_const(restInfos))
919         {
920             // cppcheck-suppress useStlAlgorithm
921             totalFileSize += info.fileSize();

** CID 1680464:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680464:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 143             in Digikam::FacePipelineEdit::removeAllFaces(const Digikam::ItemInfo &)()
137     
138         ++totalItemCount;
139     
140         Q_EMIT scheduled();
141         Q_EMIT started(i18n("Remove all faces"));
142     
>>>     CID 1680464:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
143         emitSignalUpdateItemCount(nextQueue->size()+1);
144     
145         enqueue(nextQueue, package);
146     }
147     
148     FaceTagsIface FacePipelineEdit::editTag(const ItemInfo& info,

** CID 1680463:       Incorrect expression  (IDENTICAL_BRANCHES)
/home/gilles/devel/GIT/8.x/core/libs/rawengine/libraw/src/decoders/decoders_libraw_dcrdefs.cpp: 20           in LibRaw::nikon_he_load_raw()()


_____________________________________________________________________________________________
*** CID 1680463:         Incorrect expression  (IDENTICAL_BRANCHES)
/home/gilles/devel/GIT/8.x/core/libs/rawengine/libraw/src/decoders/decoders_libraw_dcrdefs.cpp: 20             in LibRaw::nikon_he_load_raw()()
14     
15     #include "../../internal/dcraw_defs.h"
16     
17     
18     void LibRaw::nikon_he_load_raw()
19     {
>>>     CID 1680463:         Incorrect expression  (IDENTICAL_BRANCHES)
>>>     The same code is executed when the condition "this->imgdata.idata.dng_version" is true or false, because the code in the if-then branch and after the if statement is identical. Should the if statement be removed?
20         if(dng_version)
21         	throw LIBRAW_EXCEPTION_UNSUPPORTED_FORMAT; // Never reached
22         throw LIBRAW_EXCEPTION_UNSUPPORTED_FORMAT;
23     }
24     
25     void LibRaw::packed_tiled_dng_load_raw()

** CID 1680461:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680461:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 102             in Digikam::FacePipelineEdit::confirmFace(const Digikam::ItemInfo &, const Digikam::FaceTagsIface &, const Digikam::TagRegion &, int, bool)()
96                                                                              retrain);
97     
98         ++totalItemCount;
99         Q_EMIT scheduled();
100         Q_EMIT started(i18n("Confirming face"));
101     
>>>     CID 1680461:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
102         emitSignalUpdateItemCount(nextQueue->size()+1);
103     
104         enqueue(nextQueue, package);
105     
106         return (FaceTagsEditor::confirmedEntry(newFace, tagId, region));
107     }

** CID 1680460:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680460:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 273             in Digikam::FacePipelineEdit::deleteRejectedFaceTagList(const Digikam::FaceTagsIface &)()
267     
268         ++totalItemCount;
269     
270         Q_EMIT scheduled();
271         Q_EMIT started(i18n("Clearing rejected face tag list."));
272     
>>>     CID 1680460:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
273         emitSignalUpdateItemCount(nextQueue->size()+1);
274     
275         enqueue(nextQueue, package);
276     
277         return newFace;
278     }

** CID 1680459:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680459:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 235             in Digikam::FacePipelineEdit::addManually(const Digikam::ItemInfo &, const Digikam::DImg &, const Digikam::TagRegion &, bool)()
229     
230         ++totalItemCount;
231     
232         Q_EMIT scheduled();
233         Q_EMIT started(i18n("Manually adding face"));
234     
>>>     CID 1680459:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
235         emitSignalUpdateItemCount(nextQueue->size()+1);
236     
237         enqueue(nextQueue, package);
238     
239         return newFace;
240     }

** CID 1680458:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680458:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 167             in Digikam::FacePipelineEdit::editTag(const Digikam::ItemInfo &, const Digikam::FaceTagsIface &, int)()
161     
162         ++totalItemCount;
163     
164         Q_EMIT scheduled();
165         Q_EMIT started(i18n("Editing face tag"));
166     
>>>     CID 1680458:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
167         emitSignalUpdateItemCount(nextQueue->size()+1);
168     
169         enqueue(nextQueue, package);
170     
171         // FaceTagsIface newFace(package->face);
172         newFace.setTagId(newTagId);

** CID 1680457:       Incorrect expression  (EVALUATION_ORDER)
/home/gilles/devel/GIT/8.x/core/libs/rawengine/libraw/src/decoders/olympus14.cpp: 287           in LibRaw::olympus_load_raw()()


_____________________________________________________________________________________________
*** CID 1680457:         Incorrect expression  (EVALUATION_ORDER)
/home/gilles/devel/GIT/8.x/core/libs/rawengine/libraw/src/decoders/olympus14.cpp: 287             in LibRaw::olympus_load_raw()()
281                 vbits = 0;
282     
283     		  pred1 = context[0];
284     		  context[0] = (tag0x644 == 15) ? 0 : vbits >> tag0x644;
285               int32_t W = col < 2 ? tag0x642 : context[1];
286               int32_t N = row < 2 ? tag0x642 : raw_image[(row - 2) * raw_width + col] >> tag0x640;
>>>     CID 1680457:         Incorrect expression  (EVALUATION_ORDER)
>>>     In "NW = ((row < 2U || col < 2U) ? tag0x642 : (NW = raw_image[(row - 2U) * raw_width + col - 2U] >> tag0x640))", "NW" is written twice with the same value.
287               int32_t NW = (row < 2 || col < 2)? tag0x642 : NW = raw_image[(row - 2) * raw_width + col - 2] >> tag0x640;
288     
289     		  context[1] = lpred;
290               if ((W < N) || (NW < W))
291     		  {
292     			  if (NW <= N && W >= N)

** CID 1680456:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680456:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 127             in Digikam::FacePipelineEdit::removeFace(const Digikam::ItemInfo &, const Digikam::FaceTagsIface &)()
121     
122         ++totalItemCount;
123     
124         Q_EMIT scheduled();
125         Q_EMIT started(i18n("Removing face"));
126     
>>>     CID 1680456:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
127         emitSignalUpdateItemCount(nextQueue->size()+1);
128     
129         enqueue(nextQueue, package);
130     }
131     
132     void FacePipelineEdit::removeAllFaces(const ItemInfo& info)

** CID 1680455:       Null pointer dereferences  (FORWARD_NULL)


_____________________________________________________________________________________________
*** CID 1680455:         Null pointer dereferences  (FORWARD_NULL)
/home/gilles/devel/GIT/8.x/core/utilities/facemanagement/pipelines/edit/facepipelineedit.cpp: 198             in Digikam::FacePipelineEdit::editRegion(const Digikam::ItemInfo &, const Digikam::FaceTagsIface &, const Digikam::TagRegion &, int, bool)()
192     
193         ++totalItemCount;
194     
195         Q_EMIT scheduled();
196         Q_EMIT started(i18n("Editing face region"));
197     
>>>     CID 1680455:         Null pointer dereferences  (FORWARD_NULL)
>>>     Passing null pointer "nextQueue" to "size", which dereferences it.
198         emitSignalUpdateItemCount(nextQueue->size()+1);
199     
200         enqueue(nextQueue, package);
201     
202         newFace.setRegion(region);
203     


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20260117/e6c15a9b/attachment.htm>


More information about the Digikam-devel mailing list