Fwd: New Defects reported by Coverity Scan for digiKam

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fwd: New Defects reported by Coverity Scan for digiKam

Gilles Caulier-4


---------- 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