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 "[hidden email]", 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 |
Free forum by Nabble | Edit this page |