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
|

New Defects reported by Coverity Scan for digiKam

scan-admin

Hi,

Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan.

4 new defect(s) introduced to digiKam found with Coverity Scan.
16 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 4 of 4 defect(s)


** CID 1397407:  Integer handling issues  (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 3531 in LibRaw::kodak_thumb_loader()()


________________________________________________________________________________________________________
*** CID 1397407:  Integer handling issues  (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 3531 in LibRaw::kodak_thumb_loader()()
3525     }
3526    
3527     #define THUMB_READ_BEYOND  16384
3528    
3529     void LibRaw::kodak_thumb_loader()
3530     {
>>>     CID 1397407:  Integer handling issues  (SIGN_EXTENSION)
>>>     Suspicious implicit sign extension: "this->imgdata.thumbnail.twidth" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.thumbnail.theight * this->imgdata.thumbnail.twidth / 3" to type "int" (32 bits, signed), then sign-extended to type "long long" (64 bits, signed).  If "this->imgdata.thumbnail.theight * this->imgdata.thumbnail.twidth / 3" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
3531     INT64 est_datasize = T.theight * T.twidth / 3; // is 0.3 bytes per pixel good estimate?
3532     if (ID.toffset < 0)
3533     throw LIBRAW_EXCEPTION_IO_CORRUPT;
3534    
3535     if (ID.toffset + est_datasize > ID.input->size() + THUMB_READ_BEYOND)
3536     throw LIBRAW_EXCEPTION_IO_EOF;

** CID 1397406:  Integer handling issues  (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 3531 in LibRaw::kodak_thumb_loader()()


________________________________________________________________________________________________________
*** CID 1397406:  Integer handling issues  (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 3531 in LibRaw::kodak_thumb_loader()()
3525     }
3526    
3527     #define THUMB_READ_BEYOND  16384
3528    
3529     void LibRaw::kodak_thumb_loader()
3530     {
>>>     CID 1397406:  Integer handling issues  (SIGN_EXTENSION)
>>>     Suspicious implicit sign extension: "this->imgdata.thumbnail.theight" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.thumbnail.theight * this->imgdata.thumbnail.twidth / 3" to type "int" (32 bits, signed), then sign-extended to type "long long" (64 bits, signed).  If "this->imgdata.thumbnail.theight * this->imgdata.thumbnail.twidth / 3" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
3531     INT64 est_datasize = T.theight * T.twidth / 3; // is 0.3 bytes per pixel good estimate?
3532     if (ID.toffset < 0)
3533     throw LIBRAW_EXCEPTION_IO_CORRUPT;
3534    
3535     if (ID.toffset + est_datasize > ID.input->size() + THUMB_READ_BEYOND)
3536     throw LIBRAW_EXCEPTION_IO_EOF;

** CID 1397405:  Control flow issues  (DEADCODE)
/home/gilles/Devel/5.x/core/utilities/presentation/audio/presentationaudiolist.cpp: 138 in Digikam::PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus)()


________________________________________________________________________________________________________
*** CID 1397405:  Control flow issues  (DEADCODE)
/home/gilles/Devel/5.x/core/utilities/presentation/audio/presentationaudiolist.cpp: 138 in Digikam::PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus)()
132             showErrorDialog(err.string());
133         }
134     }
135    
136     void PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus status)
137     {
>>>     CID 1397405:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach the expression "status != QtAV::StalledMedia" inside this statement: "if (status != QtAV::Unknown...".
138         if (status != QtAV::UnknownMediaStatus ||
139             status != QtAV::NoMedia            ||
140             status != QtAV::StalledMedia       ||
141             status != QtAV::InvalidMedia)
142         {
143             showErrorDialog(i18n("No detail available"));

** CID 1397404:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/home/gilles/Devel/5.x/core/utilities/presentation/audio/presentationaudiolist.cpp: 138 in Digikam::PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus)()


________________________________________________________________________________________________________
*** CID 1397404:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
/home/gilles/Devel/5.x/core/utilities/presentation/audio/presentationaudiolist.cpp: 138 in Digikam::PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus)()
132             showErrorDialog(err.string());
133         }
134     }
135    
136     void PresentationAudioListItem::slotMediaStateChanged(QtAV::MediaStatus status)
137     {
>>>     CID 1397404:  Integer handling issues  (CONSTANT_EXPRESSION_RESULT)
>>>     The "or" condition "status != QtAV::UnknownMediaStatus || status != QtAV::NoMedia || status != QtAV::StalledMedia || status != QtAV::InvalidMedia" will always be true because "status" cannot be equal to two different values at the same time, so it must be not equal to at least one of them.
138         if (status != QtAV::UnknownMediaStatus ||
139             status != QtAV::NoMedia            ||
140             status != QtAV::StalledMedia       ||
141             status != QtAV::InvalidMedia)
142         {
143             showErrorDialog(i18n("No detail available"));


________________________________________________________________________________________________________
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-2BzKk1Nu56XtBupWJitvnTA4hzmwC2EI7TkyOLPdeI-2Bj2I90Q3NjPcRk2bWdGhxyS570nTOXhcXvS1vpZ-2F0vYua0lgrCB2SP5SKV1Jg5BBQLnkVq2j4JzzUJIB1TmWuCz4ROQo-2BHqg-2F43UoaV3Ani-2FfK9r8q1hsv2UNGOJZHg-2Fo8qc4hINWbCG0kzdRa5wE7EUtH6IuKADtu-2B5y-2FSDNcaHs-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-2BzKk1Nu56XtBupWJitvnTA4hzmwC2EI7TkyOLPdeI-2BjE8JHPhyhLnl56H5GJhBeC4tsfxC0nCSZ7UMhbgT8CcajShpcS3CQ49V5kNdDiSItRiyFmXCix-2F7GyG8YjgejDDrVLOs-2BEUYZLl5Wrv-2FncEbdKPJ6BFUkPVeFJHRoD91TR9VRbeHO2-2BhY1U7Fb2VQ3ePkRbEkw3ID5JchchmD3KI-3D