New Defects reported by Coverity Scan for digiKam
scan-admin at coverity.com
scan-admin at coverity.com
Thu Nov 3 07:41:04 GMT 2016
Hi,
Please find the latest report on new defect(s) introduced to digiKam found with Coverity Scan.
20 new defect(s) introduced to digiKam found with Coverity Scan.
8 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 20 defect(s)
** CID 1375970: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 368 in libraw_set_wf_debanding()
________________________________________________________________________________________________________
*** CID 1375970: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 368 in libraw_set_wf_debanding()
362 DllDef void libraw_set_wf_debanding(libraw_data_t *lr, int wf_debanding, float wfd0, float wfd1, float wfd2, float wfd3)
363 {
364 if(!lr) return;
365 LibRaw *ip = (LibRaw*) lr->parent_class;
366 ip->imgdata.params.wf_debanding = wf_debanding;
367 ip->imgdata.params.wf_deband_treshold[0] = wfd0;
>>> CID 1375970: Incorrect expression (UNUSED_VALUE)
>>> Assigning value from "wfd1" to "ip->imgdata.params.wf_deband_treshold[0]" here, but that stored value is overwritten before it can be used.
368 ip->imgdata.params.wf_deband_treshold[0] = wfd1;
369 ip->imgdata.params.wf_deband_treshold[0] = wfd2;
370 ip->imgdata.params.wf_deband_treshold[0] = wfd3;
371 }
372
373 DllDef void libraw_set_interpolation_passes(libraw_data_t *lr,int passes)
** CID 1375969: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 369 in libraw_set_wf_debanding()
________________________________________________________________________________________________________
*** CID 1375969: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 369 in libraw_set_wf_debanding()
363 {
364 if(!lr) return;
365 LibRaw *ip = (LibRaw*) lr->parent_class;
366 ip->imgdata.params.wf_debanding = wf_debanding;
367 ip->imgdata.params.wf_deband_treshold[0] = wfd0;
368 ip->imgdata.params.wf_deband_treshold[0] = wfd1;
>>> CID 1375969: Incorrect expression (UNUSED_VALUE)
>>> Assigning value from "wfd2" to "ip->imgdata.params.wf_deband_treshold[0]" here, but that stored value is overwritten before it can be used.
369 ip->imgdata.params.wf_deband_treshold[0] = wfd2;
370 ip->imgdata.params.wf_deband_treshold[0] = wfd3;
371 }
372
373 DllDef void libraw_set_interpolation_passes(libraw_data_t *lr,int passes)
374 {
** CID 1375968: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 367 in libraw_set_wf_debanding()
________________________________________________________________________________________________________
*** CID 1375968: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_c_api.cpp: 367 in libraw_set_wf_debanding()
361
362 DllDef void libraw_set_wf_debanding(libraw_data_t *lr, int wf_debanding, float wfd0, float wfd1, float wfd2, float wfd3)
363 {
364 if(!lr) return;
365 LibRaw *ip = (LibRaw*) lr->parent_class;
366 ip->imgdata.params.wf_debanding = wf_debanding;
>>> CID 1375968: Incorrect expression (UNUSED_VALUE)
>>> Assigning value from "wfd0" to "ip->imgdata.params.wf_deband_treshold[0]" here, but that stored value is overwritten before it can be used.
367 ip->imgdata.params.wf_deband_treshold[0] = wfd0;
368 ip->imgdata.params.wf_deband_treshold[0] = wfd1;
369 ip->imgdata.params.wf_deband_treshold[0] = wfd2;
370 ip->imgdata.params.wf_deband_treshold[0] = wfd3;
371 }
372
** CID 1375967: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 1807 in x3f_load_huffman(x3f_info_s *, x3f_directory_entry_s *, int, int, int)()
________________________________________________________________________________________________________
*** CID 1375967: Incorrect expression (UNUSED_VALUE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 1807 in x3f_load_huffman(x3f_info_s *, x3f_directory_entry_s *, int, int, int)()
1801 HUF->x3rgb16.row_stride = ID->columns * 3;
1802 HUF->x3rgb16.buf = malloc(sizeof(uint16_t)*size);
1803 HUF->x3rgb16.data = (uint16_t *)HUF->x3rgb16.buf;
1804 break;
1805 case X3F_IMAGE_THUMB_HUFFMAN:
1806 size = ID->columns * ID->rows * 3;
>>> CID 1375967: Incorrect expression (UNUSED_VALUE)
>>> Assigning value from "ID->columns" to "HUF->rgb8.columns" here, but that stored value is overwritten before it can be used.
1807 HUF->rgb8.columns = ID->columns;
1808 HUF->rgb8.columns = ID->rows;
1809 HUF->rgb8.channels = 3;
1810 HUF->rgb8.row_stride = ID->columns * 3;
1811 HUF->rgb8.buf = malloc(sizeof(uint8_t)*size);
1812 HUF->rgb8.data = (uint8_t *)HUF->rgb8.buf;
** CID 1375966: Control flow issues (UNREACHABLE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 1504 in simple_decode_row(x3f_info_s *, x3f_directory_entry_s *, int, int, int)()
________________________________________________________________________________________________________
*** CID 1375966: Control flow issues (UNREACHABLE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 1504 in simple_decode_row(x3f_info_s *, x3f_directory_entry_s *, int, int, int)()
1498 case 12:
1499 mask = 0xfff;
1500 break;
1501 default:
1502 /* TODO: Shouldn't this be treated as a fatal error? */
1503 throw LIBRAW_EXCEPTION_IO_CORRUPT;
>>> CID 1375966: Control flow issues (UNREACHABLE)
>>> This code cannot be reached: "mask = 0U;".
1504 mask = 0;
1505 break;
1506 }
1507
1508 for (col = 0; col < ID->columns; col++) {
1509 int color;
** CID 1375965: Memory - illegal accesses (UNINIT)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_xtrans_compressed.cpp: 228 in LibRaw::copy_line_to_xtrans(xtrans_block *, int, int, int)()
________________________________________________________________________________________________________
*** CID 1375965: Memory - illegal accesses (UNINIT)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_xtrans_compressed.cpp: 228 in LibRaw::copy_line_to_xtrans(xtrans_block *, int, int, int)()
222 case 2: // blue
223 line_buf = lineBufB[row_count >> 1];
224 break;
225 }
226
227 index = (((pixel_count*2/3) & 0x7FFFFFFE) | ((pixel_count % 3) & 1)) + ((pixel_count % 3) >> 1);
>>> CID 1375965: Memory - illegal accesses (UNINIT)
>>> Using uninitialized value "line_buf".
228 raw_block_data[pixel_count] = line_buf[index];
229
230 ++pixel_count;
231 }
232 ++row_count;
233 raw_block_data += imgdata.sizes.raw_width;
** CID 1375964: Security best practices violations (STRING_OVERFLOW)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 8299 in LibRaw::parse_makernote(int, int)()
________________________________________________________________________________________________________
*** CID 1375964: Security best practices violations (STRING_OVERFLOW)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 8299 in LibRaw::parse_makernote(int, int)()
8293 unsigned c;
8294 stmread(FujiSerial, len, ifp);
8295 nwords = getwords(FujiSerial, words, 4,sizeof(imgdata.shootinginfo.InternalBodySerial));
8296 for (int i = 0; i < nwords; i++) {
8297 mm[2] = dd[2] = 0;
8298 if (strlen(words[i]) < 18)
>>> CID 1375964: Security best practices violations (STRING_OVERFLOW)
>>> You might overrun the 64 byte fixed-size string "this->imgdata.shootinginfo.InternalBodySerial" by copying "words[0]" without checking the length.
8299 if (i == 0) strcpy (imgdata.shootinginfo.InternalBodySerial, words[0]);
8300 else snprintf (imgdata.shootinginfo.InternalBodySerial, sizeof(imgdata.shootinginfo.InternalBodySerial), "%s %s", imgdata.shootinginfo.InternalBodySerial, words[i]);
8301 else
8302 {
8303 strncpy (dd, words[i]+strlen(words[i])-14, 2);
8304 strncpy (mm, words[i]+strlen(words[i])-16, 2);
** CID 1375963: (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7306 in LibRaw::process_Sony_0x9050(unsigned char *, unsigned int)()
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7309 in LibRaw::process_Sony_0x9050(unsigned char *, unsigned int)()
________________________________________________________________________________________________________
*** CID 1375963: (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7306 in LibRaw::process_Sony_0x9050(unsigned char *, unsigned int)()
7300 SonySubstitution[buf[0x116]]);
7301 else if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens)
7302 parseSonyLensFeatures (SonySubstitution[buf[0x116]],
7303 SonySubstitution[buf[0x117]]);
7304
7305 if ((id==347) || (id==350) || (id==357))
>>> CID 1375963: (SIGN_EXTENSION)
>>> Suspicious implicit sign extension: "SonySubstitution[buf[138]]" with type "unsigned char" (8 bits, unsigned) is promoted in "SonySubstitution[buf[138]] << 24" to type "int" (32 bits, signed), then sign-extended to type "long" (64 bits, signed). If "SonySubstitution[buf[138]] << 24" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
7306 sprintf(imgdata.shootinginfo.InternalBodySerial, "%06lx", ((long)SonySubstitution[buf[0x88]]<<40) + ((long)SonySubstitution[buf[0x89]]<<32) + (SonySubstitution[buf[0x8a]]<<24) + (SonySubstitution[buf[0x8b]]<<16) + (SonySubstitution[buf[0x8c]]<<8) +SonySubstitution[buf[0x8d]]);
7307
7308 else if ((imgdata.lens.makernotes.CameraMount == LIBRAW_MOUNT_Minolta_A) && (id > 279) && (id != 282) && (id != 283))
7309 sprintf(imgdata.shootinginfo.InternalBodySerial, "%05lx", ((long)SonySubstitution[buf[0xf0]]<<32) + (SonySubstitution[buf[0xf1]]<<24) + (SonySubstitution[buf[0xf2]]<<16) + (SonySubstitution[buf[0xf3]]<<8) +SonySubstitution[buf[0xf4]]);
7310
7311 else if ((imgdata.lens.makernotes.CameraMount == LIBRAW_MOUNT_Sony_E) && (id != 288) && (id != 289) && (id != 290))
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7309 in LibRaw::process_Sony_0x9050(unsigned char *, unsigned int)()
7303 SonySubstitution[buf[0x117]]);
7304
7305 if ((id==347) || (id==350) || (id==357))
7306 sprintf(imgdata.shootinginfo.InternalBodySerial, "%06lx", ((long)SonySubstitution[buf[0x88]]<<40) + ((long)SonySubstitution[buf[0x89]]<<32) + (SonySubstitution[buf[0x8a]]<<24) + (SonySubstitution[buf[0x8b]]<<16) + (SonySubstitution[buf[0x8c]]<<8) +SonySubstitution[buf[0x8d]]);
7307
7308 else if ((imgdata.lens.makernotes.CameraMount == LIBRAW_MOUNT_Minolta_A) && (id > 279) && (id != 282) && (id != 283))
>>> CID 1375963: (SIGN_EXTENSION)
>>> Suspicious implicit sign extension: "SonySubstitution[buf[241]]" with type "unsigned char" (8 bits, unsigned) is promoted in "SonySubstitution[buf[241]] << 24" to type "int" (32 bits, signed), then sign-extended to type "long" (64 bits, signed). If "SonySubstitution[buf[241]] << 24" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
7309 sprintf(imgdata.shootinginfo.InternalBodySerial, "%05lx", ((long)SonySubstitution[buf[0xf0]]<<32) + (SonySubstitution[buf[0xf1]]<<24) + (SonySubstitution[buf[0xf2]]<<16) + (SonySubstitution[buf[0xf3]]<<8) +SonySubstitution[buf[0xf4]]);
7310
7311 else if ((imgdata.lens.makernotes.CameraMount == LIBRAW_MOUNT_Sony_E) && (id != 288) && (id != 289) && (id != 290))
7312 sprintf(imgdata.shootinginfo.InternalBodySerial, "%04x", (SonySubstitution[buf[0x7c]]<<24) + (SonySubstitution[buf[0x7d]]<<16) + (SonySubstitution[buf[0x7e]]<<8) +SonySubstitution[buf[0x7f]]);
7313
7314 return;
** CID 1375962: Integer handling issues (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 2521 in LibRaw::unpack()()
________________________________________________________________________________________________________
*** CID 1375962: Integer handling issues (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 2521 in LibRaw::unpack()()
2515 S.iwidth = S.width;
2516 S.iheight= S.height;
2517 IO.shrink = 0;
2518 S.raw_pitch = S.raw_width*8;
2519 // allocate image as temporary buffer, size
2520 imgdata.rawdata.raw_alloc = 0;
>>> CID 1375962: Integer handling issues (SIGN_EXTENSION)
>>> Suspicious implicit sign extension: "this->imgdata.sizes.raw_width" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.raw_width * this->imgdata.sizes.raw_height" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.raw_width * this->imgdata.sizes.raw_height" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
2521 imgdata.image = (ushort (*)[4]) calloc(S.raw_width*S.raw_height,sizeof(*imgdata.image));
2522 if(!(decoder_info.decoder_flags & LIBRAW_DECODER_ADOBECOPYPIXEL))
2523 {
2524 imgdata.rawdata.raw_image = (ushort*) imgdata.image ;
2525 zero_rawimage = 1;
2526 }
** CID 1375961: Integer handling issues (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 2521 in LibRaw::unpack()()
________________________________________________________________________________________________________
*** CID 1375961: Integer handling issues (SIGN_EXTENSION)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/src/libraw_cxx.cpp: 2521 in LibRaw::unpack()()
2515 S.iwidth = S.width;
2516 S.iheight= S.height;
2517 IO.shrink = 0;
2518 S.raw_pitch = S.raw_width*8;
2519 // allocate image as temporary buffer, size
2520 imgdata.rawdata.raw_alloc = 0;
>>> CID 1375961: Integer handling issues (SIGN_EXTENSION)
>>> Suspicious implicit sign extension: "this->imgdata.sizes.raw_height" with type "unsigned short" (16 bits, unsigned) is promoted in "this->imgdata.sizes.raw_width * this->imgdata.sizes.raw_height" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "this->imgdata.sizes.raw_width * this->imgdata.sizes.raw_height" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1.
2521 imgdata.image = (ushort (*)[4]) calloc(S.raw_width*S.raw_height,sizeof(*imgdata.image));
2522 if(!(decoder_info.decoder_flags & LIBRAW_DECODER_ADOBECOPYPIXEL))
2523 {
2524 imgdata.rawdata.raw_image = (ushort*) imgdata.image ;
2525 zero_rawimage = 1;
2526 }
** CID 1375960: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/demosaic-pack-GPL2/ahd_interpolate_mod.c: 137 in LibRaw::ahd_interpolate_mod()()
________________________________________________________________________________________________________
*** CID 1375960: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/demosaic-pack-GPL2/ahd_interpolate_mod.c: 137 in LibRaw::ahd_interpolate_mod()()
131 pix[ width-1][c] + pix[ width+1][c] + 2) >> 2; }
132 rix[0][c] = val;
133 c = FC(row,col);
134 rix[0][c] = pix[0][c];
135 xyz[0] = xyz[1] = xyz[2] = 0.5;
136 FORCC {
>>> CID 1375960: Memory - illegal accesses (OVERRUN)
>>> Overrunning array "rix[0]" of 3 2-byte elements at element index 3 (byte offset 6) using index "c" (which evaluates to 3).
137 xyz[0] += xyz_cam[0][c] * rix[0][c];
138 xyz[1] += xyz_cam[1][c] * rix[0][c];
139 xyz[2] += xyz_cam[2][c] * rix[0][c];
140 }
141 xyz[0] = cbrt[CLIP((int) xyz[0])];
142 xyz[1] = cbrt[CLIP((int) xyz[1])];
** CID 1375959: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/demosaic-pack-GPL2/ahd_partial_interpolate.c: 133 in LibRaw::ahd_partial_interpolate(int)()
________________________________________________________________________________________________________
*** CID 1375959: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/demosaic-pack-GPL2/ahd_partial_interpolate.c: 133 in LibRaw::ahd_partial_interpolate(int)()
127 pix[ width-1][c] + pix[ width+1][c] + 2) >> 2; }
128 rix[0][c] = val;
129 c = FC(row,col);
130 rix[0][c] = pix[0][c];
131 xyz[0] = xyz[1] = xyz[2] = 0.5;
132 FORCC {
>>> CID 1375959: Memory - illegal accesses (OVERRUN)
>>> Overrunning array "rix[0]" of 3 2-byte elements at element index 3 (byte offset 6) using index "c" (which evaluates to 3).
133 xyz[0] += xyz_cam[0][c] * rix[0][c];
134 xyz[1] += xyz_cam[1][c] * rix[0][c];
135 xyz[2] += xyz_cam[2][c] * rix[0][c];
136 }
137 xyz[0] = cbrt[CLIP((int) xyz[0])];
138 xyz[1] = cbrt[CLIP((int) xyz[1])];
** CID 1375958: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 4956 in LibRaw::cielab(unsigned short *, short *)()
________________________________________________________________________________________________________
*** CID 1375958: Memory - illegal accesses (OVERRUN)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 4956 in LibRaw::cielab(unsigned short *, short *)()
4950 for (xyz_cam[i][j] = k=0; k < 3; k++)
4951 xyz_cam[i][j] += xyz_rgb[i][k] * rgb_cam[k][j] / d65_white[i];
4952 return;
4953 }
4954 xyz[0] = xyz[1] = xyz[2] = 0.5;
4955 FORCC {
>>> CID 1375958: Memory - illegal accesses (OVERRUN)
>>> Overrunning array of 3 2-byte elements at element index 3 (byte offset 6) by dereferencing pointer "rgb + c".
4956 xyz[0] += xyz_cam[0][c] * rgb[c];
4957 xyz[1] += xyz_cam[1][c] * rgb[c];
4958 xyz[2] += xyz_cam[2][c] * rgb[c];
4959 }
4960 xyz[0] = cbrt[CLIP((int) xyz[0])];
4961 xyz[1] = cbrt[CLIP((int) xyz[1])];
** CID 1375957: Control flow issues (NESTING_INDENT_MISMATCH)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 9751 in LibRaw::parse_exif(int)()
________________________________________________________________________________________________________
*** CID 1375957: Control flow issues (NESTING_INDENT_MISMATCH)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 9751 in LibRaw::parse_exif(int)()
9745 if (num > 0.01) FORC3 imgdata.color.ccm[l][c] = imgdata.color.ccm[l][c] / num;
9746 }
9747 }
9748 else
9749 #endif
9750 parse_makernote (base, 0);
>>> CID 1375957: Control flow issues (NESTING_INDENT_MISMATCH)
>>> This statement is indented to column 9, as if it were nested within the preceding parent statement, but it is not.
9751 break;
9752 case 40962: if (kodak) raw_width = get4(); break;
9753 case 40963: if (kodak) raw_height = get4(); break;
9754 case 41730:
9755 if (get4() == 0x20002)
9756 for (exif_cfa=c=0; c < 8; c+=2)
** CID 1375956: Control flow issues (NESTING_INDENT_MISMATCH)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7125 in LibRaw::parseSonyLensType2(unsigned char, unsigned char)()
________________________________________________________________________________________________________
*** CID 1375956: Control flow issues (NESTING_INDENT_MISMATCH)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 7125 in LibRaw::parseSonyLensType2(unsigned char, unsigned char)()
7119 break;
7120 }
7121 }
7122 }
7123 else
7124 imgdata.lens.makernotes.LensID = lid2;
>>> CID 1375956: Control flow issues (NESTING_INDENT_MISMATCH)
>>> This 'if' statement is indented to column 5, as if it were nested within the preceding parent statement, but it is not.
7125 if ((lid2 >= 50481) && (lid2 < 50500))
7126 {
7127 strcpy(imgdata.lens.makernotes.Adapter, "MC-11");
7128 imgdata.lens.makernotes.AdapterID = 0x4900;
7129 }
7130 return;
** CID 1375955: Memory - illegal accesses (NEGATIVE_RETURNS)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 11657 in LibRaw::parse_ciff(int, int, int)()
________________________________________________________________________________________________________
*** CID 1375955: Memory - illegal accesses (NEGATIVE_RETURNS)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 11657 in LibRaw::parse_ciff(int, int, int)()
11651 if (!wbi) cam_mul[0] = -1; /* use my auto white balance */
11652 } else if (!cam_mul[0]) {
11653 if (get2() == key[0]) /* Pro1, G6, S60, S70 */
11654 c = (strstr(model,"Pro1") ?
11655 "012346000000000000":"01345:000000006008")[wbi]-'0'+ 2;
11656 else { /* G3, G5, S45, S50 */
>>> CID 1375955: Memory - illegal accesses (NEGATIVE_RETURNS)
>>> Using variable "wbi" as an index to array ""023457000000006000"".
11657 c = "023457000000006000"[wbi]-'0';
11658 key[0] = key[1] = 0;
11659 }
11660 fseek (ifp, 78 + c*8, SEEK_CUR);
11661 FORC4 cam_mul[c ^ (c >> 1) ^ 1] = get2() ^ key[c & 1];
11662 if (!wbi) cam_mul[0] = -1;
** CID 1375954: Control flow issues (DEADCODE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 781 in x3f_new_from_file(LibRaw_abstract_datastream *)()
________________________________________________________________________________________________________
*** CID 1375954: Control flow issues (DEADCODE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 781 in x3f_new_from_file(LibRaw_abstract_datastream *)()
775 }
776
777 /* Traverse the directory */
778 for (d=0; d<DS->num_directory_entries; d++) {
779 x3f_directory_entry_t *DE = &DS->directory_entry[d];
780 if (!DE)
>>> CID 1375954: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "goto _err;".
781 goto _err;
782 x3f_directory_entry_header_t *DEH = &DE->header;
783 if (!DEH)
784 goto _err;
785 uint32_t save_dir_pos;
786
** CID 1375953: Control flow issues (DEADCODE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 912 in x3f_delete(x3f_s *)()
________________________________________________________________________________________________________
*** CID 1375953: Control flow issues (DEADCODE)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/libraw_x3f.cpp: 912 in x3f_delete(x3f_s *)()
906 if (DS->num_directory_entries > 50)
907 return X3F_ARGUMENT_ERROR;
908
909 for (d=0; d<DS->num_directory_entries; d++) {
910 x3f_directory_entry_t *DE = &DS->directory_entry[d];
911 if (!DE)
>>> CID 1375953: Control flow issues (DEADCODE)
>>> Execution cannot reach this statement: "continue;".
912 continue;
913 x3f_directory_entry_header_t *DEH = &DE->header;
914 if (!DEH)
915 continue;
916 if (DEH->identifier == X3F_SECp) {
917 x3f_property_list_t *PL = &DEH->data_subsection.property_list;
** CID 1375952: Memory - illegal accesses (BUFFER_SIZE_WARNING)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/samples/dcraw_emu.cpp: 319 in main()
________________________________________________________________________________________________________
*** CID 1375952: Memory - illegal accesses (BUFFER_SIZE_WARNING)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/samples/dcraw_emu.cpp: 319 in main()
313 else if(!strcmp(optstr,"-apentax4shot"))
314 {
315 OUT.raw_processing_options |= LIBRAW_PROCESSING_PENTAX_PS_ALLFRAMES;
316 }
317 else if(!strcmp(optstr,"-apentax4shotorder"))
318 {
>>> CID 1375952: Memory - illegal accesses (BUFFER_SIZE_WARNING)
>>> Calling strncpy with a maximum size argument of 5 bytes on destination array "RawProcessor.imgdata.params.p4shot_order" of size 5 bytes might leave the destination string unterminated.
319 strncpy(OUT.p4shot_order,argv[arg++],5);
320 }
321 else
322 #ifdef LIBRAW_DEMOSAIC_PACK_GPL3
323 if(!strcmp(optstr,"-acae"))
324 {
** CID 1375951: Integer handling issues (BAD_SHIFT)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 11670 in LibRaw::parse_ciff(int, int, int)()
________________________________________________________________________________________________________
*** CID 1375951: Integer handling issues (BAD_SHIFT)
/home/gilles/Devel/5.x/core/libs/rawengine/libraw/internal/dcraw_common.cpp: 11670 in LibRaw::parse_ciff(int, int, int)()
11664 }
11665 if (type == 0x10a9) { /* D60, 10D, 300D, and clones */
11666 if (len > 66) wbi = "0134567028"[wbi]-'0';
11667 fseek (ifp, 2 + wbi*8, SEEK_CUR);
11668 FORC4 cam_mul[c ^ (c >> 1)] = get2();
11669 }
>>> CID 1375951: Integer handling issues (BAD_SHIFT)
>>> In expression "0x18040 >> wbi", shifting by a negative amount has undefined behavior. The shift amount, "wbi", is -1.
11670 if (type == 0x1030 && (0x18040 >> wbi & 1))
11671 ciff_block_1030(); /* all that don't have 0x10a9 */
11672 if (type == 0x1031) {
11673 raw_width = (get2(),get2());
11674 raw_height = get2();
11675 }
________________________________________________________________________________________________________
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-2FuY2NXJdl00iesSYncIuGISibT7qVU8uhvRWi1-2BQHTgxnqgNjbVnrJ5ipWsoqxZv0ftXqLyI71Z6QlVVkytPNJ5Mjx-2FsaQqO6TJdNwHXRbRo5-2BSEpkp4IDhr1vDcUGU0KJnoI2Ynktw0iPBEoZNLhzgNSXGSnvRM0mQOH2lbVBj53w4guO5eflAmcVBHTQxM-3D
To manage Coverity Scan email notifications for "digikam-devel at kde.org", 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-2FuY2NXJdl00iesSYncIuGwGm7g3j6N9vtYm26MrU5YiSVVKPWJdJ56mgmnWgLUbLDQilLkPw1D-2FVRi36tXtjIXAUZPhF-2B3aXSODDwCUPtvjr7TduXWX8wtA5kQAvXFLzgNNegpC2G1p6YrsUPIeuNUN5DTTGrzvR-2Bfw3s5E4EN8gzk68B57yyKM-2BesbDSw6w-3D
More information about the Digikam-devel
mailing list