New Defects reported by Coverity Scan for digiKam
scan-admin at coverity.com
scan-admin at coverity.com
Tue Oct 3 17:41:37 BST 2017
Hi,
Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan.
28 new defect(s) introduced to digiKam found with Coverity Scan.
76 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 28 defect(s)
** CID 1418887: Incorrect expression (IDENTICAL_BRANCHES)
/core/utilities/mediaserver/mediaserver_src_automoc.dir/moc_dmediaservermn_WGNYY6EMLI7FDS.cpp: 85 in Digikam::DMediaServerMngr::qt_metacall(QMetaObject::Call, int, void **)()
________________________________________________________________________________________________________
*** CID 1418887: Incorrect expression (IDENTICAL_BRANCHES)
/core/utilities/mediaserver/mediaserver_src_automoc.dir/moc_dmediaservermn_WGNYY6EMLI7FDS.cpp: 85 in Digikam::DMediaServerMngr::qt_metacall(QMetaObject::Call, int, void **)()
79 return QObject::qt_metacast(_clname);
80 }
81
82 int Digikam::DMediaServerMngr::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
83 {
84 _id = QObject::qt_metacall(_c, _id, _a);
>>> CID 1418887: Incorrect expression (IDENTICAL_BRANCHES)
>>> The same code is executed when the condition "_id < 0" 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?
85 if (_id < 0)
86 return _id;
87 return _id;
88 }
** CID 1418886: Error handling issues (CHECKED_RETURN)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserverdlg.cpp: 336 in Digikam::DMediaServerDlg::startMediaServer()()
________________________________________________________________________________________________________
*** CID 1418886: Error handling issues (CHECKED_RETURN)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserverdlg.cpp: 336 in Digikam::DMediaServerDlg::startMediaServer()()
330
331 if (!setMediaServerContents())
332 return;
333
334 if (!d->mngr->startMediaServer())
335 {
>>> CID 1418886: Error handling issues (CHECKED_RETURN)
>>> Calling "warning" without checking return value (as is done elsewhere 41 out of 50 times).
336 QMessageBox::warning(this, i18n("Starting Media Server"),
337 i18n("An error occurs while to start Media Server..."));
338 }
339 else
340 {
341 d->mngr->mediaServerNotification(true);
** CID 1418885: Uninitialized members (UNINIT_CTOR)
/mnt/devel/GIT/5.x/core/utilities/geolocation/editor/kmlexport/kmlwidget.cpp: 280 in Digikam::KmlWidget::KmlWidget(Digikam::GeolocationEdit *, Digikam::GPSImageModel *, Digikam::DInfoInterface *)()
________________________________________________________________________________________________________
*** CID 1418885: Uninitialized members (UNINIT_CTOR)
/mnt/devel/GIT/5.x/core/utilities/geolocation/editor/kmlexport/kmlwidget.cpp: 280 in Digikam::KmlWidget::KmlWidget(Digikam::GeolocationEdit *, Digikam::GPSImageModel *, Digikam::DInfoInterface *)()
274
275 // --------------------------------------------------------------
276
277 readSettings();
278 slotGoogleMapTargetRadioButtonToggled(true);
279 slotKMLTracksCheckButtonToggled(false);
>>> CID 1418885: Uninitialized members (UNINIT_CTOR)
>>> Non-static class member "spacer4" is not initialized in this constructor nor in any functions that it calls.
280 }
281
282 KmlWidget::~KmlWidget()
283 {
284 saveSettings();
285 }
** CID 1418884: (CHECKED_RETURN)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 2972 in NPT_HttpFileRequestHandler::SetupResponse(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 3022 in NPT_HttpFileRequestHandler::SetupResponse(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
________________________________________________________________________________________________________
*** CID 1418884: (CHECKED_RETURN)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 2972 in NPT_HttpFileRequestHandler::SetupResponse(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
2966 filename += "/";
2967 filename += relative_path;
2968 NPT_LOG_FINE_1("filename = %s", filename.GetChars());
2969
2970 // get info about the file
2971 NPT_FileInfo info;
>>> CID 1418884: (CHECKED_RETURN)
>>> Calling "GetInfo" without checking return value (as is done elsewhere 13 out of 16 times).
2972 NPT_File::GetInfo(filename, &info);
2973
2974 // check if this is a directory
2975 if (info.m_Type == NPT_FileInfo::FILE_TYPE_DIRECTORY) {
2976 NPT_LOG_FINE("file is a DIRECTORY");
2977 if (m_AutoDir) {
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 3022 in NPT_HttpFileRequestHandler::SetupResponse(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
3016 html += "\">";
3017 html +=url_filename;
3018
3019 NPT_String full_path = filename;
3020 full_path += "/";
3021 full_path += *i;
>>> CID 1418884: (CHECKED_RETURN)
>>> Calling "GetInfo" without checking return value (as is done elsewhere 13 out of 16 times).
3022 NPT_File::GetInfo(full_path, &info);
3023 if (info.m_Type == NPT_FileInfo::FILE_TYPE_DIRECTORY) html += "/";
3024
3025 html += "</a><br>\r\n";
3026 }
3027 html += "</ul></body></html>";
** CID 1418883: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1418883: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dlnaserverdelegate.cpp: 280 in Digikam::DLNAMediaServerDelegate::OnBrowseDirectChildren(NPT_Reference<PLT_Action> &, const char *, const char *, unsigned int, unsigned int, const char *, const PLT_HttpRequestContext &)()
274 unsigned long total_matches = 0;
275 NPT_String didl = didl_header;
276 bool allip = (NPT_String(filter).Find("ALLIP") != -1);
277
278 PLT_MediaObjectReference item;
279
>>> CID 1418883: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "entries" to "GetFirstItem", which dereferences it.
280 for (NPT_List<NPT_String>::Iterator it = entries->GetFirstItem() ; it ; ++it)
281 {
282 NPT_String filepath = dir + (*it);
283
284 // verify we want to process this file first
285
** CID 1418882: Resource leaks (CTOR_DTOR_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserver.cpp: 100 in Digikam::DMediaServer::Private::Private()()
________________________________________________________________________________________________________
*** CID 1418882: Resource leaks (CTOR_DTOR_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserver.cpp: 100 in Digikam::DMediaServer::Private::Private()()
94 Private()
95 : upnp(0),
96 logHandler(NULL),
97 serverHolder(new CDeviceHostReferenceHolder())
98 {
99 NPT_LogManager::GetDefault().Configure("plist:.level=INFO;.handlers=CustomHandler;");
>>> CID 1418882: Resource leaks (CTOR_DTOR_LEAK)
>>> The constructor allocates field "logHandler" of "Digikam::DMediaServer::Private" but there is no destructor.
100 NPT_LogHandler::Create("digiKam", "CustomHandler", logHandler);
101 logHandler->SetCustomHandlerFunction(&UPnPLogger);
102 }
103
104 PLT_UPnP* upnp;
105 NPT_LogHandler* logHandler;
** CID 1418881: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1418881: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Devices/MediaServer/PltFileMediaServer.cpp: 223 in PLT_FileMediaServerDelegate::OnBrowseDirectChildren(NPT_Reference<PLT_Action> &, const char *, const char *, unsigned int, unsigned int, const char *, const PLT_HttpRequestContext &)()
217 unsigned long num_returned = 0;
218 unsigned long total_matches = 0;
219 NPT_String didl = didl_header;
220 bool allip = (NPT_String(filter).Find("ALLIP") != -1);
221
222 PLT_MediaObjectReference item;
>>> CID 1418881: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "entries" to "GetFirstItem", which dereferences it.
223 for (NPT_List<NPT_String>::Iterator it = entries->GetFirstItem();
224 it;
225 ++it) {
226 NPT_String filepath = NPT_FilePath::Create(dir, *it);
227
228 /* verify we want to process this file first */
** CID 1418880: Resource leaks (RESOURCE_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptLogging.cpp: 773 in NPT_LogManager::ConfigureLogger(NPT_Logger *)()
________________________________________________________________________________________________________
*** CID 1418880: Resource leaks (RESOURCE_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptLogging.cpp: 773 in NPT_LogManager::ConfigureLogger(NPT_Logger *)()
767 }
768 if (*cursor == '\0') break;
769 name_start = cursor+1;
770 }
771 ++cursor;
772 }
>>> CID 1418880: Resource leaks (RESOURCE_LEAK)
>>> Variable "handler" going out of scope leaks the storage it points to.
773 }
774
775 /* configure the forwarding */
776 NPT_String* forward = GetConfigValue(logger->m_Name,".forward");
777 if (forward && !ConfigValueIsBooleanTrue(*forward)) {
778 logger->m_ForwardToParent = false;
** CID 1418879: Resource leaks (CTOR_DTOR_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserver.cpp: 97 in Digikam::DMediaServer::Private::Private()()
________________________________________________________________________________________________________
*** CID 1418879: Resource leaks (CTOR_DTOR_LEAK)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/dmediaserver.cpp: 97 in Digikam::DMediaServer::Private::Private()()
91 {
92 public:
93
94 Private()
95 : upnp(0),
96 logHandler(NULL),
>>> CID 1418879: Resource leaks (CTOR_DTOR_LEAK)
>>> The constructor allocates field "serverHolder" of "Digikam::DMediaServer::Private" but there is no destructor.
97 serverHolder(new CDeviceHostReferenceHolder())
98 {
99 NPT_LogManager::GetDefault().Configure("plist:.level=INFO;.handlers=CustomHandler;");
100 NPT_LogHandler::Create("digiKam", "CustomHandler", logHandler);
101 logHandler->SetCustomHandlerFunction(&UPnPLogger);
102 }
** CID 1418878: Uninitialized members (UNINIT_CTOR)
/mnt/devel/GIT/5.x/core/utilities/imageeditor/tools/enhance/healingclonetool.cpp: 36 in Digikam::HealingCloneTool::Private::Private()()
________________________________________________________________________________________________________
*** CID 1418878: Uninitialized members (UNINIT_CTOR)
/mnt/devel/GIT/5.x/core/utilities/imageeditor/tools/enhance/healingclonetool.cpp: 36 in Digikam::HealingCloneTool::Private::Private()()
30
31 Private() :
32 radiusInput(0),
33 previewWidget(0),
34 gboxSettings(0)
35 {
>>> CID 1418878: Uninitialized members (UNINIT_CTOR)
>>> Non-static class member "src" is not initialized in this constructor nor in any functions that it calls.
36 }
37
38 static const QString configGroupName;
39 static const QString configRadiusAdjustmentEntry;
40 static const QString configBlurAdjustmentEntry;
41
** CID 1297983: Error handling issues (NEGATIVE_RETURNS)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp: 280 in NPT_NetworkInterface::GetNetworkInterfaces(NPT_List<NPT_NetworkInterface*> &)()
________________________________________________________________________________________________________
*** CID 1297983: Error handling issues (NEGATIVE_RETURNS)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/System/Bsd/NptBsdNetwork.cpp: 280 in NPT_NetworkInterface::GetNetworkInterfaces(NPT_List<NPT_NetworkInterface*> &)()
274 #endif
275 }
276 }
277
278 // free resources
279 delete[] buffer;
>>> CID 1297983: Error handling issues (NEGATIVE_RETURNS)
>>> "net" is passed to a parameter that cannot be negative.
280 close(net);
281
282 return NPT_SUCCESS;
** CID 1297979: Insecure data handling (INTEGER_OVERFLOW)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 184 in NPT_HttpHeaders::Parse(NPT_BufferedInputStream &)()
________________________________________________________________________________________________________
*** CID 1297979: Insecure data handling (INTEGER_OVERFLOW)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptHttp.cpp: 184 in NPT_HttpHeaders::Parse(NPT_BufferedInputStream &)()
178 if (line.GetLength() == 0) {
179 // empty line, end of headers
180 break;
181 }
182 if (header_pending && (line[0] == ' ' || line[0] == '\t')) {
183 // continuation (folded header)
>>> CID 1297979: Insecure data handling (INTEGER_OVERFLOW)
>>> Subtract operation overflows on operands "line.GetLength()" and "1U".
184 header_value.Append(line.GetChars()+1, line.GetLength()-1);
185 } else {
186 // add the pending header to the list
187 if (header_pending) {
188 header_value.Trim();
189 AddHeader(header_name, header_value);
** CID 1297977: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1297977: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltService.cpp: 649 in PLT_Service::ProcessRenewSubscription(const NPT_SocketAddress &, const NPT_String &, int, NPT_HttpResponse &)()
643 if (NPT_SUCCEEDED(NPT_ContainerFind(m_Subscribers,
644 PLT_EventSubscriberFinderBySID(sid),
645 subscriber))) {
646
647 NPT_TimeStamp now, expiration;
648 NPT_System::GetCurrentTimeStamp(now);
>>> CID 1297977: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "subscriber" to "GetExpirationTime", which dereferences it.
649 expiration = subscriber->GetExpirationTime();
650
651 // renew subscriber if it has not expired
652 if (expiration > now ) {
653 // update local interface and timeout
654 subscriber->SetLocalIf(addr);
** CID 1297976: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1297976: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltCtrlPoint.cpp: 927 in PLT_CtrlPoint::ProcessHttpNotify(const NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
921 NPT_LOG_WARNING_1("Subscriber %s not found, delaying notification process.\n", (const char*)notification->m_SID);
922 AddPendingEventNotification(notification);
923 return NPT_SUCCESS;
924 }
925
926 // Process notification for subscriber
>>> CID 1297976: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "sub" to "GetService", which dereferences it.
927 service = sub->GetService();
928 result = ProcessEventNotification(sub, notification, vars);
929 delete notification;
930
931 NPT_CHECK_LABEL_WARNING(result, bad_request);
932
** CID 1297975: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1297975: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltCtrlPoint.cpp: 871 in PLT_CtrlPoint::ProcessPendingEventNotifications()()
865 sub))) {
866 m_PendingNotifications.Add(notification);
867 continue;
868 }
869
870 // keep track of service for listeners later
>>> CID 1297975: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "sub" to "GetService", which dereferences it.
871 service = sub->GetService();
872
873 // Reprocess notification
874 NPT_LOG_WARNING_1("Reprocessing delayed notification for subscriber", (const char*)notification->m_SID);
875 NPT_Result result = ProcessEventNotification(sub, notification, vars);
876 delete notification;
** CID 1297974: Null pointer dereferences (FORWARD_NULL)
________________________________________________________________________________________________________
*** CID 1297974: Null pointer dereferences (FORWARD_NULL)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltCtrlPoint.cpp: 511 in PLT_CtrlPoint::DoHouseKeeping()()
505 // remove expired devices
506 {
507 NPT_AutoLock lock(m_Lock);
508
509 PLT_DeviceDataReference head, device;
510 while (NPT_SUCCEEDED(m_RootDevices.PopHead(device))) {
>>> CID 1297974: Null pointer dereferences (FORWARD_NULL)
>>> Passing null pointer "device" to "GetLeaseTimeLastUpdate", which dereferences it.
511 NPT_TimeStamp last_update = device->GetLeaseTimeLastUpdate();
512 NPT_TimeInterval lease_time = device->GetLeaseTime();
513
514 // check if device lease time has expired or if failed to renew subscribers
515 // TODO: UDA 1.1 says that root device and all embedded devices must have expired
516 // before we can assume they're all no longer unavailable (we may have missed the root device renew)
** CID 1248183: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptUtils.cpp: 664 in NPT_ParseInteger(const char *, unsigned long &, bool, unsigned int *)()
________________________________________________________________________________________________________
*** CID 1248183: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptUtils.cpp: 664 in NPT_ParseInteger(const char *, unsigned long &, bool, unsigned int *)()
658 NPT_ParseInteger(const char* str, unsigned long& value, bool relaxed, NPT_Cardinal* chars_used)
659 {
660 NPT_UInt64 value_64;
661 NPT_Result result = NPT_ParseInteger64(str, value_64, relaxed, chars_used);
662 value = 0;
663 if (NPT_SUCCEEDED(result)) {
>>> CID 1248183: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
>>> "value_64 > 18446744073709551615ULL /* 9223372036854775807L * 2UL + 1UL */" is always false regardless of the values of its operands. This occurs as the logical operand of "if".
664 if (value_64 > NPT_ULONG_MAX) {
665 return NPT_ERROR_OVERFLOW;
666 }
667 value = (unsigned long)value_64;
668 }
669 return result;
** CID 1248181: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptUtils.cpp: 646 in NPT_ParseInteger(const char *, long &, bool, unsigned int *)()
________________________________________________________________________________________________________
*** CID 1248181: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/Core/NptUtils.cpp: 646 in NPT_ParseInteger(const char *, long &, bool, unsigned int *)()
640 NPT_ParseInteger(const char* str, long& value, bool relaxed, NPT_Cardinal* chars_used)
641 {
642 NPT_Int64 value_64;
643 NPT_Result result = NPT_ParseInteger64(str, value_64, relaxed, chars_used);
644 value = 0;
645 if (NPT_SUCCEEDED(result)) {
>>> CID 1248181: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
>>> "value_64 < -9223372036854775808LL /* -9223372036854775807L - 1L */" is always false regardless of the values of its operands. This occurs as the logical first operand of "||".
646 if (value_64 < NPT_LONG_MIN || value_64 > NPT_LONG_MAX) {
647 return NPT_ERROR_OVERFLOW;
648 }
649 value = (long)value_64;
650 }
651 return result;
** CID 1238542: Security best practices violations (DC.WEAK_CRYPTO)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/System/Posix/NptPosixSystem.cpp: 190 in NPT_System::GetRandomInteger()()
________________________________________________________________________________________________________
*** CID 1238542: Security best practices violations (DC.WEAK_CRYPTO)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Neptune/Source/System/Posix/NptPosixSystem.cpp: 190 in NPT_System::GetRandomInteger()()
184 NPT_TimeStamp now;
185 GetCurrentTimeStamp(now);
186 SetRandomSeed((NPT_UInt32)now.ToNanos());
187 seeded = true;
188 }
189
>>> CID 1238542: Security best practices violations (DC.WEAK_CRYPTO)
>>> "rand" should not be used for security related applications, as linear congruential algorithms are too easy to break.
190 return rand();
** CID 1231666: Control flow issues (UNREACHABLE)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltDeviceHost.cpp: 648 in PLT_DeviceHost::ProcessHttpPostRequest(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
________________________________________________________________________________________________________
*** CID 1231666: Control flow issues (UNREACHABLE)
/mnt/devel/GIT/5.x/core/utilities/mediaserver/upnpsdk/Platinum/Source/Core/PltDeviceHost.cpp: 648 in PLT_DeviceHost::ProcessHttpPostRequest(NPT_HttpRequest &, const NPT_HttpRequestContext &, NPT_HttpResponse &)()
642 response.GetHeaders().SetHeader("Ext", ""); // should only be for M-POST but oh well
643 }
644
645 delete xml;
646 return NPT_SUCCESS;
647
>>> CID 1231666: Control flow issues (UNREACHABLE)
>>> This code cannot be reached: "bad_request:
response->SetS...".
648 bad_request:
649 // generic 500 now unused
650 response.SetStatus(500, "Bad Request");
651 goto bad_request_end;
652
653 bad_request_find_service:
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRZIlZa20oQ0xtvekoaSXYBwgZYh7yqZ4T857KvBwnvzEg-3D-3D_Vulo-2FzB1zz6bqp-2F-2Bl-2FpBD-2BzKk1Nu56XtBupWJitvnTDhGf1ULMCdIFtgKA3AoFKY0RLR3mLPkzyTvgytxde5USoxks0LZA06S5i4EbBp8lVWk0JbD8gLG-2FcJsLGu5VHLANcRb5Efeohq2UIJJDRZuV4aC7YpnejUdKD58BjeIRyQwUTRDsCvvF9WTAHWAqCJ4ugytTgid3ksoGzv-2BasWLbqtv39HOXk4RYrhsTCruQM-3D
To manage Coverity Scan email notifications for "digikam-devel at kde.org", click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-2FA8y06Nq4g-2BkTwi3e7HlDkvMAkUMj2-2FFhZ2O-2BELTTy-2Fl1ea1gxKqmntchu8-2BeAOkExRtki0102MqL9th0o1rOws5-2F-2FQDFdjkpeJaB-2FdUMxPk-2B7ZQUGV0-3D_Vulo-2FzB1zz6bqp-2F-2Bl-2FpBD-2BzKk1Nu56XtBupWJitvnTDhGf1ULMCdIFtgKA3AoFKY9P5u1gUQA0lcGDkieBgRag9XsWzZMhUSf9JX3IyfsI5V5qe8wR05pJBMc6AAieS4wTWPzfYzgbFsQ0dKEACeUjo2vBVuCLVN-2BysjYJbj1J895YWhJ-2Bcf6ilZvG9UKBUtOUbZh1Qk0GZwNRLoiQR-2FZlXCFwzgeLoIxnMSL3RHXJ0-3D
More information about the Digikam-devel
mailing list