|
---------- Forwarded message ---------- From: <[hidden email]> Date: 2013/5/21 Subject: New Defects reported by Coverity Scan for digiKam To: [hidden email] Hi, Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan Defect(s) Reported-by: Coverity Scan Showing 7 of 29 defects ** CID 1025425: Uninitialized pointer field (UNINIT_CTOR) /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databaseoperationgroup.cpp: 48 ** CID 1025424: Uninitialized pointer field (UNINIT_CTOR) /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databasecorebackend.cpp: 90 ** CID 1025423: Uncaught exception (UNCAUGHT_EXCEPT) /mnt/devel/GIT/3.x/extra/libkface/test/recognize.cpp: 91 ** CID 1025422: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1145 ** CID 1025421: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1068 ** CID 1025420: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1068 ** CID 1025419: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1145 ________________________________________________________________________ CID 1025425: Uninitialized pointer field (UNINIT_CTOR) /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databaseoperationgroup.cpp: 53 ( member_decl) 50 public: 51 52 DatabaseAccess* access; >>> Class member declaration for "db". 53 DatabaseAccessData* db; 54 bool acquired; 55 QTime timeAcquired; 56 int maxTime; 57 /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databaseoperationgroup.cpp: 48 ( uninit_member) 45 access = 0; 46 acquired = false; 47 maxTime = 0; >>> CID 1025425: Uninitialized pointer field (UNINIT_CTOR) >>> Non-static class member "db" is not initialized in this constructor nor in any functions that it calls. 48 } 49 50 public: 51 52 DatabaseAccess* access; ________________________________________________________________________ CID 1025424: Uninitialized pointer field (UNINIT_CTOR) /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databasecorebackend_p.h: 104 ( member_decl) 101 102 DatabaseCoreBackend::Status status; 103 >>> Class member declaration for "lock". 104 DatabaseLocking* lock; 105 106 DatabaseCoreBackend::QueryOperationStatus operationStatus; 107 108 QMutex errorLockMutex; /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databasecorebackend.cpp: 90 ( uninit_member) 87 isInTransaction = false; 88 operationStatus = DatabaseCoreBackend::ExecuteNormal; 89 errorHandler = 0; >>> Non-static class member "lock" is not initialized in this constructor nor in any functions that it calls. 90 } 91 92 void DatabaseCoreBackendPrivate::init(const QString& name, DatabaseLocking* l) 93 { 94 QObject::connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databasecorebackend_p.h: 110 ( member_decl) 107 108 QMutex errorLockMutex; 109 QWaitCondition errorLockCondVar; >>> Class member declaration for "errorLockOperationStatus". 110 DatabaseCoreBackend::QueryOperationStatus errorLockOperationStatus; 111 112 QMutex busyWaitMutex; 113 QWaitCondition busyWaitCondVar; 114 /mnt/devel/GIT/3.x/extra/libkface/libkface/database/databasecorebackend.cpp: 90 ( uninit_member) 87 isInTransaction = false; 88 operationStatus = DatabaseCoreBackend::ExecuteNormal; 89 errorHandler = 0; >>> CID 1025424: Uninitialized pointer field (UNINIT_CTOR) >>> Non-static class member "errorLockOperationStatus" is not initialized in this constructor nor in any functions that it calls. 90 } 91 92 void DatabaseCoreBackendPrivate::init(const QString& name, DatabaseLocking* l) 93 { 94 QObject::connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), ________________________________________________________________________ CID 1025423: Uncaught exception (UNCAUGHT_EXCEPT) /mnt/devel/GIT/3.x/extra/libkface/test/recognize.cpp: 91 ( root_function) 88 }; 89 90 >>> CID 1025423: Uncaught exception (UNCAUGHT_EXCEPT) >>> In function "main" an exception of type "int" is thrown and never caught. 91 int main(int argc, char** argv) 92 { 93 if (argc < 2 || (argv[1] == QLatin1String("train") && argc < 3)) 94 { 95 kDebug() << "Bad Args!!!\nUsage: " << argv[0] << " identify <image1> <image2> ... |train name <image1> <image2> ... " /mnt/devel/GIT/3.x/extra/libkface/test/recognize.cpp: 111 ( fun_call_w_exception) 108 109 QTime time; 110 time.start(); >>> Called function throws an exception of type "int". 111 QList<Identity> identities = db.recognizeFaces(images); 112 int elapsed = time.elapsed(); 113 114 qDebug() << "Recognition took" << elapsed << "for" << images.size() << "," << ((float)elapsed/images.size()) << "per image"; 115 for (int i = 0; i<paths.size(); i++) ________________________________________________________________________ CID 1025422: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1145 ( sign_extension) 1142 S.width*sizeof(*imgdata.image)); 1143 1144 else >>> CID 1025422: Unintended sign extension (SIGN_EXTENSION) >>> Suspicious implicit sign extension: "this->imgdata.sizes.width" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.width * this->imgdata.sizes.height" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.width * this->imgdata.sizes.height" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. 1145 memmove(imgdata.image,imgdata.rawdata.color_image, 1146 S.width*S.height*sizeof(*imgdata.image)); 1147 } 1148 1149 if(imgdata.rawdata.use_ph1_correct) // Phase one unpacked! ________________________________________________________________________ CID 1025421: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1068 ( sign_extension) 1065 1066 if(imgdata.image) 1067 { >>> CID 1025421: Unintended sign extension (SIGN_EXTENSION) >>> Suspicious implicit sign extension: "this->imgdata.sizes.iwidth" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.iheight * this->imgdata.sizes.iwidth" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.iheight * this->imgdata.sizes.iwidth" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. 1068 imgdata.image = (ushort (*)[4]) realloc (imgdata.image,S.iheight*S.iwidth 1069 *sizeof (*imgdata.image)); 1070 memset(imgdata.image,0,S.iheight*S.iwidth *sizeof (*imgdata.image)); 1071 } 1072 else ________________________________________________________________________ CID 1025420: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1068 ( sign_extension) 1065 1066 if(imgdata.image) 1067 { >>> CID 1025420: Unintended sign extension (SIGN_EXTENSION) >>> Suspicious implicit sign extension: "this->imgdata.sizes.iheight" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.iheight * this->imgdata.sizes.iwidth" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.iheight * this->imgdata.sizes.iwidth" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. 1068 imgdata.image = (ushort (*)[4]) realloc (imgdata.image,S.iheight*S.iwidth 1069 *sizeof (*imgdata.image)); 1070 memset(imgdata.image,0,S.iheight*S.iwidth *sizeof (*imgdata.image)); 1071 } 1072 else ________________________________________________________________________ CID 1025419: Unintended sign extension (SIGN_EXTENSION) /mnt/devel/GIT/3.x/extra/libkdcraw/libraw/src/libraw_cxx.cpp: 1145 ( sign_extension) 1142 S.width*sizeof(*imgdata.image)); 1143 1144 else >>> CID 1025419: Unintended sign extension (SIGN_EXTENSION) >>> Suspicious implicit sign extension: "this->imgdata.sizes.height" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.width * this->imgdata.sizes.height" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.width * this->imgdata.sizes.height" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. 1145 memmove(imgdata.image,imgdata.rawdata.color_image, 1146 S.width*S.height*sizeof(*imgdata.image)); 1147 } 1148 1149 if(imgdata.rawdata.use_ph1_correct) // Phase one unpacked! ________________________________________________________________________ To view the defects in Coverity Scan visit, http://scan.coverity.com To unsubscribe from the email notification for new defects, http://scan5.coverity.com/cgi-bin/unsubscribe.py _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
| Free forum by Nabble | Edit this page |
