Hi, Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan. 8 new defect(s) introduced to digiKam found with Coverity Scan. 5 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 8 of 8 defect(s) ** CID 1400438: Null pointer dereferences (FORWARD_NULL) /home/gilles/Devel/5.x/core/utilities/fuzzysearch/findduplicatesalbum.cpp: 114 in Digikam::FindDuplicatesAlbum::updateDuplicatesAlbumItems(const QList<Digikam::SAlbum *> &, QList<long long>&)() ________________________________________________________________________________________________________ *** CID 1400438: Null pointer dereferences (FORWARD_NULL) /home/gilles/Devel/5.x/core/utilities/fuzzysearch/findduplicatesalbum.cpp: 114 in Digikam::FindDuplicatesAlbum::updateDuplicatesAlbumItems(const QList<Digikam::SAlbum *> &, QList<long long>&)() 108 void FindDuplicatesAlbum::updateDuplicatesAlbumItems(const QList<SAlbum*>& sAlbumsToRebuild, const QList<qlonglong>& deletedImages) 109 { 110 QTreeWidgetItemIterator it(this); 111 112 while (*it) 113 { >>> CID 1400438: Null pointer dereferences (FORWARD_NULL) >>> Assigning: "item" = "dynamic_cast <Digikam::FindDuplicatesAlbumItem *>(*it)". 114 FindDuplicatesAlbumItem* const item = dynamic_cast<FindDuplicatesAlbumItem*>(*it); 115 116 if (sAlbumsToRebuild.contains(item->album())) 117 { 118 item->calculateInfos(deletedImages); 119 //item->setHidden(item->itemCount() < 2); ** CID 1352650: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/SolveTriangular.h: 65 in Eigen::internal::triangular_solver_selector<const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1>, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1>, (int)1, (int)5, (int)0, (int)1>::run(const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1> &, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1> &)() /usr/include/Eigen/src/Core/SolveTriangular.h: 65 in Eigen::internal::triangular_solver_selector<const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1>, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1>, (int)1, (int)2, (int)0, (int)1>::run(const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1> &, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1> &)() ________________________________________________________________________________________________________ *** CID 1352650: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/SolveTriangular.h: 65 in Eigen::internal::triangular_solver_selector<const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1>, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1>, (int)1, (int)5, (int)0, (int)1>::run(const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1> &, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1> &)() 59 ActualLhsType actualLhs = LhsProductTraits::extract(lhs); 60 61 // FIXME find a way to allow an inner stride if packet_traits<Scalar>::size==1 62 63 bool useRhsDirectly = Rhs::InnerStrideAtCompileTime==1 || rhs.innerStride()==1; 64 >>> CID 1352650: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 65 ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhs,rhs.size(), 66 (useRhsDirectly ? rhs.data() : 0)); 67 68 if(!useRhsDirectly) 69 MappedRhs(actualRhs,rhs.size()) = rhs; 70 /usr/include/Eigen/src/Core/SolveTriangular.h: 65 in Eigen::internal::triangular_solver_selector<const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1>, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1>, (int)1, (int)2, (int)0, (int)1>::run(const Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1> &, Eigen::Matrix<double, (int)-1, (int)1, (int)0, (int)-1, (int)1> &)() 59 ActualLhsType actualLhs = LhsProductTraits::extract(lhs); 60 61 // FIXME find a way to allow an inner stride if packet_traits<Scalar>::size==1 62 63 bool useRhsDirectly = Rhs::InnerStrideAtCompileTime==1 || rhs.innerStride()==1; 64 >>> CID 1352650: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 65 ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhs,rhs.size(), 66 (useRhsDirectly ? rhs.data() : 0)); 67 68 if(!useRhsDirectly) 69 MappedRhs(actualRhs,rhs.size()) = rhs; 70 ** CID 1341901: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/products/GeneralMatrixMatrix.h: 162 in Eigen::internal::general_matrix_matrix_product<long, double, (int)0, (bool)0, double, (int)0, (bool)0, (int)0>::run(long, long, long, const double *, long, const double *, long, double *, long, double, Eigen::internal::level3_blocking<double, double> &, Eigen::internal::GemmParallelInfo<long> *)() /usr/include/Eigen/src/Core/products/GeneralMatrixMatrix.h: 163 in Eigen::internal::general_matrix_matrix_product<long, double, (int)0, (bool)0, double, (int)0, (bool)0, (int)0>::run(long, long, long, const double *, long, const double *, long, double *, long, double, Eigen::internal::level3_blocking<double, double> &, Eigen::internal::GemmParallelInfo<long> *)() ________________________________________________________________________________________________________ *** CID 1341901: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/products/GeneralMatrixMatrix.h: 162 in Eigen::internal::general_matrix_matrix_product<long, double, (int)0, (bool)0, double, (int)0, (bool)0, (int)0>::run(long, long, long, const double *, long, const double *, long, double *, long, double, Eigen::internal::level3_blocking<double, double> &, Eigen::internal::GemmParallelInfo<long> *)() 156 EIGEN_UNUSED_VARIABLE(info); 157 158 // this is the sequential version! 159 std::size_t sizeA = kc*mc; 160 std::size_t sizeB = kc*nc; 161 >>> CID 1341901: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 162 ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA()); 163 ei_declare_aligned_stack_constructed_variable(RhsScalar, blockB, sizeB, blocking.blockB()); 164 165 const bool pack_rhs_once = mc!=rows && kc==depth && nc==cols; 166 167 // For each horizontal panel of the rhs, and corresponding panel of the lhs... /usr/include/Eigen/src/Core/products/GeneralMatrixMatrix.h: 163 in Eigen::internal::general_matrix_matrix_product<long, double, (int)0, (bool)0, double, (int)0, (bool)0, (int)0>::run(long, long, long, const double *, long, const double *, long, double *, long, double, Eigen::internal::level3_blocking<double, double> &, Eigen::internal::GemmParallelInfo<long> *)() 157 158 // this is the sequential version! 159 std::size_t sizeA = kc*mc; 160 std::size_t sizeB = kc*nc; 161 162 ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA()); >>> CID 1341901: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 163 ei_declare_aligned_stack_constructed_variable(RhsScalar, blockB, sizeB, blocking.blockB()); 164 165 const bool pack_rhs_once = mc!=rows && kc==depth && nc==cols; 166 167 // For each horizontal panel of the rhs, and corresponding panel of the lhs... 168 for(Index i2=0; i2<rows; i2+=mc) ** CID 1341900: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/products/TriangularSolverMatrix.h: 74 in Eigen::internal::triangular_solve_matrix<double, long, (int)1, (int)5, (bool)0, (int)0, (int)0>::run(long, long, const double *, long, double *, long, Eigen::internal::level3_blocking<double, double> &)() /usr/include/Eigen/src/Core/products/TriangularSolverMatrix.h: 75 in Eigen::internal::triangular_solve_matrix<double, long, (int)1, (int)5, (bool)0, (int)0, (int)0>::run(long, long, const double *, long, double *, long, Eigen::internal::level3_blocking<double, double> &)() ________________________________________________________________________________________________________ *** CID 1341900: (BAD_ALLOC_ARITHMETIC) /usr/include/Eigen/src/Core/products/TriangularSolverMatrix.h: 74 in Eigen::internal::triangular_solve_matrix<double, long, (int)1, (int)5, (bool)0, (int)0, (int)0>::run(long, long, const double *, long, double *, long, Eigen::internal::level3_blocking<double, double> &)() 68 Index kc = blocking.kc(); // cache block size along the K direction 69 Index mc = (std::min)(size,blocking.mc()); // cache block size along the M direction 70 71 std::size_t sizeA = kc*mc; 72 std::size_t sizeB = kc*cols; 73 >>> CID 1341900: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 74 ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA()); 75 ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB()); 76 77 conj_if<Conjugate> conj; 78 gebp_kernel<Scalar, Scalar, Index, OtherMapper, Traits::mr, Traits::nr, Conjugate, false> gebp_kernel; 79 gemm_pack_lhs<Scalar, Index, TriMapper, Traits::mr, Traits::LhsProgress, TriStorageOrder> pack_lhs; /usr/include/Eigen/src/Core/products/TriangularSolverMatrix.h: 75 in Eigen::internal::triangular_solve_matrix<double, long, (int)1, (int)5, (bool)0, (int)0, (int)0>::run(long, long, const double *, long, double *, long, Eigen::internal::level3_blocking<double, double> &)() 69 Index mc = (std::min)(size,blocking.mc()); // cache block size along the M direction 70 71 std::size_t sizeA = kc*mc; 72 std::size_t sizeB = kc*cols; 73 74 ei_declare_aligned_stack_constructed_variable(Scalar, blockA, sizeA, blocking.blockA()); >>> CID 1341900: (BAD_ALLOC_ARITHMETIC) >>> Adding an offset to the result of a call to "__builtin_alloca" might indicate an under-allocation. 75 ei_declare_aligned_stack_constructed_variable(Scalar, blockB, sizeB, blocking.blockB()); 76 77 conj_if<Conjugate> conj; 78 gebp_kernel<Scalar, Scalar, Index, OtherMapper, Traits::mr, Traits::nr, Conjugate, false> gebp_kernel; 79 gemm_pack_lhs<Scalar, Index, TriMapper, Traits::mr, Traits::LhsProgress, TriStorageOrder> pack_lhs; 80 gemm_pack_rhs<Scalar, Index, OtherMapper, Traits::nr, ColMajor, false, true> pack_rhs; ** CID 1340921: API usage errors (SWAPPED_ARGUMENTS) ________________________________________________________________________________________________________ *** CID 1340921: API usage errors (SWAPPED_ARGUMENTS) /usr/include/Eigen/src/Core/CoreEvaluators.h: 283 in Eigen::internal::unary_evaluator<Eigen::Transpose<const Eigen::Block<const Eigen::Block<Eigen::Block<Eigen::Map<Eigen::Matrix<double, (int)-1, (int)-1, (int)0, (int)-1, (int)-1>, (int)0, Eigen::Stride<(int)0, (int)0>>, (int)-1, (int)-1, (bool)0>, (int)-1, (int)-1, (bool)0>, (int)1, (int)-1, (bool)0>>, Eigen::internal::IndexBased, double>::coeff(long, long) const() 277 typedef typename XprType::Scalar Scalar; 278 typedef typename XprType::CoeffReturnType CoeffReturnType; 279 280 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE 281 CoeffReturnType coeff(Index row, Index col) const 282 { >>> CID 1340921: API usage errors (SWAPPED_ARGUMENTS) >>> The positions of arguments in the call to "coeff" do not match the ordering of the parameters: * "col" is passed to "row" * "row" is passed to "col" 283 return m_argImpl.coeff(col, row); 284 } 285 286 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE 287 CoeffReturnType coeff(Index index) const 288 { ** CID 1340577: Control flow issues (DEADCODE) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 133 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() ________________________________________________________________________________________________________ *** CID 1340577: Control flow issues (DEADCODE) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 133 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() 127 // Here we assume data are at least aligned on the base scalar type. 128 Index alignedStart = internal::first_default_aligned(res,size); 129 Index alignedSize = ResPacketSize>1 ? alignedStart + ((size-alignedStart) & ~ResPacketAlignedMask) : 0; 130 const Index peeledSize = alignedSize - RhsPacketSize*peels - RhsPacketSize + 1; 131 132 const Index alignmentStep = LhsPacketSize>1 ? (LhsPacketSize - lhsStride % LhsPacketSize) & LhsPacketAlignedMask : 0; >>> CID 1340577: Control flow issues (DEADCODE) >>> Execution cannot reach the expression "FirstAligned" inside this statement: "alignmentPattern = ((alignm...". 133 Index alignmentPattern = alignmentStep==0 ? AllAligned 134 : alignmentStep==(LhsPacketSize/2) ? EvenAligned 135 : FirstAligned; 136 137 // we cannot assume the first element is aligned because of sub-matrices 138 const Index lhsAlignmentOffset = lhs.firstAligned(size); ** CID 1340576: Control flow issues (DEADCODE) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 225 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() ________________________________________________________________________________________________________ *** CID 1340576: Control flow issues (DEADCODE) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 225 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() 219 _EIGEN_ACCUMULATE_PACKETS(Aligned,Aligned,Aligned); 220 break; 221 case EvenAligned: 222 for (Index j = alignedStart; j<alignedSize; j+=ResPacketSize) 223 _EIGEN_ACCUMULATE_PACKETS(Aligned,Unaligned,Aligned); 224 break; >>> CID 1340576: Control flow issues (DEADCODE) >>> Execution cannot reach this statement: "case FirstAligned:". 225 case FirstAligned: 226 { 227 Index j = alignedStart; 228 if(peels>1) 229 { 230 LhsPacket A00, A01, A02, A03, A10, A11, A12, A13; ** CID 1340570: (CONSTANT_EXPRESSION_RESULT) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 186 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 187 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() ________________________________________________________________________________________________________ *** CID 1340570: (CONSTANT_EXPRESSION_RESULT) /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 186 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() 180 { 181 alignedStart = 0; 182 alignedSize = size; 183 alignmentPattern = AllAligned; 184 } 185 >>> CID 1340570: (CONSTANT_EXPRESSION_RESULT) >>> The expression "true /* FirstAligned */ && alignmentStep == 1" is suspicious because it performs a Boolean operation on a constant other than 0 or 1. 186 const Index offset1 = (FirstAligned && alignmentStep==1)?3:1; 187 const Index offset3 = (FirstAligned && alignmentStep==1)?1:3; 188 189 Index columnBound = ((cols-skipColumns)/columnsAtOnce)*columnsAtOnce + skipColumns; 190 for (Index i=skipColumns; i<columnBound; i+=columnsAtOnce) 191 { /usr/include/Eigen/src/Core/products/GeneralMatrixVector.h: 187 in Eigen::internal::general_matrix_vector_product<long, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (int)0, (bool)0, double, Eigen::internal::const_blas_data_mapper<double, long, (int)0>, (bool)0, (int)0>::run(long, long, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, const Eigen::internal::const_blas_data_mapper<double, long, (int)0> &, double *, long, double)() 181 alignedStart = 0; 182 alignedSize = size; 183 alignmentPattern = AllAligned; 184 } 185 186 const Index offset1 = (FirstAligned && alignmentStep==1)?3:1; >>> CID 1340570: (CONSTANT_EXPRESSION_RESULT) >>> The expression "true /* FirstAligned */ && alignmentStep == 1" is suspicious because it performs a Boolean operation on a constant other than 0 or 1. 187 const Index offset3 = (FirstAligned && alignmentStep==1)?1:3; 188 189 Index columnBound = ((cols-skipColumns)/columnsAtOnce)*columnsAtOnce + skipColumns; 190 for (Index i=skipColumns; i<columnBound; i+=columnsAtOnce) 191 { 192 RhsPacket ptmp0 = pset1<RhsPacket>(alpha*rhs(i, 0)), ________________________________________________________________________________________________________ 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-2BzKk1Nu56XtBupWJitvnTD-2F6uTQRnx8Tq3rQ2v2I0JPU0KeaUQBTXtyvDliBmWWGs3h7cfn5-2Fr98dM6b8gl-2F-2FV-2F3PDcjVE5tsTOz3UH8NUk19cqNbEl-2B669wviVIAxDKfiP8656aT7eL7ZwCddA1qFaaXja-2Bx5T7-2BIbwc0OiMxrh78s3JQ6h-2FDj4WuIrdxK7fBGL0mEUMBRPV0eWxjP5WI-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-2BzKk1Nu56XtBupWJitvnTD-2F6uTQRnx8Tq3rQ2v2I0JPdvwdqj3lXgSrNb4h8KXCAtC9qnAFsPNbMPakDmCBp2TkHcoMNVlHv-2B8Ep3TP4YJu3b98CQu22c8uKYxgldzr-2Fb43oEpoS23OLGx2W-2BfmCz9DlBe-2BLBtVGcPy0YubvMTPvzIC29ia3mKIepQAnbETwINtR53j6pPYGQozgPDj-2Bcc-3D |
Free forum by Nabble | Edit this page |