Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/libraw-0.20.2/RawSpeed/rawspeed_xmldata.cpp Examining data/libraw-0.20.2/internal/dcraw_common.cpp Examining data/libraw-0.20.2/internal/dcraw_defs.h Examining data/libraw-0.20.2/internal/dcraw_fileio.cpp Examining data/libraw-0.20.2/internal/dcraw_fileio_defs.h Examining data/libraw-0.20.2/internal/defines.h Examining data/libraw-0.20.2/internal/demosaic_packs.cpp Examining data/libraw-0.20.2/internal/dmp_include.h Examining data/libraw-0.20.2/internal/libraw_cameraids.h Examining data/libraw-0.20.2/internal/libraw_cxx_defs.h Examining data/libraw-0.20.2/internal/libraw_internal_funcs.h Examining data/libraw-0.20.2/internal/var_defines.h Examining data/libraw-0.20.2/internal/x3f_tools.h Examining data/libraw-0.20.2/libraw/libraw.h Examining data/libraw-0.20.2/libraw/libraw_alloc.h Examining data/libraw-0.20.2/libraw/libraw_const.h Examining data/libraw-0.20.2/libraw/libraw_datastream.h Examining data/libraw-0.20.2/libraw/libraw_internal.h Examining data/libraw-0.20.2/libraw/libraw_types.h Examining data/libraw-0.20.2/libraw/libraw_version.h Examining data/libraw-0.20.2/samples/4channels.cpp Examining data/libraw-0.20.2/samples/dcraw_emu.cpp Examining data/libraw-0.20.2/samples/dcraw_half.c Examining data/libraw-0.20.2/samples/half_mt.c Examining data/libraw-0.20.2/samples/half_mt_win32.c Examining data/libraw-0.20.2/samples/mem_image_sample.cpp Examining data/libraw-0.20.2/samples/multirender_test.cpp Examining data/libraw-0.20.2/samples/openbayer_sample.cpp Examining data/libraw-0.20.2/samples/postprocessing_benchmark.cpp Examining data/libraw-0.20.2/samples/raw-identify.cpp Examining data/libraw-0.20.2/samples/rawtextdump.cpp Examining data/libraw-0.20.2/samples/simple_dcraw.cpp Examining data/libraw-0.20.2/samples/unprocessed_raw.cpp Examining data/libraw-0.20.2/src/decoders/canon_600.cpp Examining data/libraw-0.20.2/src/decoders/crx.cpp Examining data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp Examining data/libraw-0.20.2/src/decoders/decoders_libraw.cpp Examining data/libraw-0.20.2/src/decoders/decoders_libraw_dcrdefs.cpp Examining data/libraw-0.20.2/src/decoders/dng.cpp Examining data/libraw-0.20.2/src/decoders/fp_dng.cpp Examining data/libraw-0.20.2/src/decoders/fuji_compressed.cpp Examining data/libraw-0.20.2/src/decoders/generic.cpp Examining data/libraw-0.20.2/src/decoders/kodak_decoders.cpp Examining data/libraw-0.20.2/src/decoders/load_mfbacks.cpp Examining data/libraw-0.20.2/src/decoders/smal.cpp Examining data/libraw-0.20.2/src/decoders/unpack.cpp Examining data/libraw-0.20.2/src/decoders/unpack_thumb.cpp Examining data/libraw-0.20.2/src/demosaic/aahd_demosaic.cpp Examining data/libraw-0.20.2/src/demosaic/ahd_demosaic.cpp Examining data/libraw-0.20.2/src/demosaic/dcb_demosaic.cpp Examining data/libraw-0.20.2/src/demosaic/dht_demosaic.cpp Examining data/libraw-0.20.2/src/demosaic/misc_demosaic.cpp Examining data/libraw-0.20.2/src/demosaic/xtrans_demosaic.cpp Examining data/libraw-0.20.2/src/integration/dngsdk_glue.cpp Examining data/libraw-0.20.2/src/integration/rawspeed_glue.cpp Examining data/libraw-0.20.2/src/libraw_c_api.cpp Examining data/libraw-0.20.2/src/libraw_cxx.cpp Examining data/libraw-0.20.2/src/libraw_datastream.cpp Examining data/libraw-0.20.2/src/metadata/adobepano.cpp Examining data/libraw-0.20.2/src/metadata/canon.cpp Examining data/libraw-0.20.2/src/metadata/ciff.cpp Examining data/libraw-0.20.2/src/metadata/cr3_parser.cpp Examining data/libraw-0.20.2/src/metadata/epson.cpp Examining data/libraw-0.20.2/src/metadata/exif_gps.cpp Examining data/libraw-0.20.2/src/metadata/fuji.cpp Examining data/libraw-0.20.2/src/metadata/hasselblad_model.cpp Examining data/libraw-0.20.2/src/metadata/identify.cpp Examining data/libraw-0.20.2/src/metadata/identify_tools.cpp Examining data/libraw-0.20.2/src/metadata/kodak.cpp Examining data/libraw-0.20.2/src/metadata/leica.cpp Examining data/libraw-0.20.2/src/metadata/makernotes.cpp Examining data/libraw-0.20.2/src/metadata/mediumformat.cpp Examining data/libraw-0.20.2/src/metadata/minolta.cpp Examining data/libraw-0.20.2/src/metadata/misc_parsers.cpp Examining data/libraw-0.20.2/src/metadata/nikon.cpp Examining data/libraw-0.20.2/src/metadata/normalize_model.cpp Examining data/libraw-0.20.2/src/metadata/olympus.cpp Examining data/libraw-0.20.2/src/metadata/p1.cpp Examining data/libraw-0.20.2/src/metadata/pentax.cpp Examining data/libraw-0.20.2/src/metadata/samsung.cpp Examining data/libraw-0.20.2/src/metadata/sony.cpp Examining data/libraw-0.20.2/src/metadata/tiff.cpp Examining data/libraw-0.20.2/src/postprocessing/aspect_ratio.cpp Examining data/libraw-0.20.2/src/postprocessing/dcraw_process.cpp Examining data/libraw-0.20.2/src/postprocessing/mem_image.cpp Examining data/libraw-0.20.2/src/postprocessing/postprocessing_aux.cpp Examining data/libraw-0.20.2/src/postprocessing/postprocessing_ph.cpp Examining data/libraw-0.20.2/src/postprocessing/postprocessing_utils.cpp Examining data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp Examining data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp Examining data/libraw-0.20.2/src/preprocessing/preprocessing_ph.cpp Examining data/libraw-0.20.2/src/preprocessing/raw2image.cpp Examining data/libraw-0.20.2/src/preprocessing/subtract_black.cpp Examining data/libraw-0.20.2/src/tables/cameralist.cpp Examining data/libraw-0.20.2/src/tables/colorconst.cpp Examining data/libraw-0.20.2/src/tables/colordata.cpp Examining data/libraw-0.20.2/src/tables/wblists.cpp Examining data/libraw-0.20.2/src/utils/curves.cpp Examining data/libraw-0.20.2/src/utils/decoder_info.cpp Examining data/libraw-0.20.2/src/utils/init_close_utils.cpp Examining data/libraw-0.20.2/src/utils/open.cpp Examining data/libraw-0.20.2/src/utils/phaseone_processing.cpp Examining data/libraw-0.20.2/src/utils/read_utils.cpp Examining data/libraw-0.20.2/src/utils/thumb_utils.cpp Examining data/libraw-0.20.2/src/utils/utils_dcraw.cpp Examining data/libraw-0.20.2/src/utils/utils_libraw.cpp Examining data/libraw-0.20.2/src/write/apply_profile.cpp Examining data/libraw-0.20.2/src/write/file_write.cpp Examining data/libraw-0.20.2/src/write/tiff_writer.cpp Examining data/libraw-0.20.2/src/write/write_ph.cpp Examining data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp Examining data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp FINAL RESULTS: data/libraw-0.20.2/internal/var_defines.h:210:38: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. #define fgets(str,n,stream) stream->gets(str,n) data/libraw-0.20.2/libraw/libraw_datastream.h:95:17: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. virtual char *gets(char *, int) = 0; data/libraw-0.20.2/libraw/libraw_datastream.h:148:17: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. virtual char *gets(char *str, int sz); data/libraw-0.20.2/libraw/libraw_datastream.h:169:17: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. virtual char *gets(char *s, int sz); data/libraw-0.20.2/libraw/libraw_datastream.h:198:17: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. virtual char *gets(char *str, int sz); data/libraw-0.20.2/src/libraw_datastream.cpp:287:31: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. char *LibRaw_file_datastream::gets(char *str, int sz) data/libraw-0.20.2/src/libraw_datastream.cpp:418:33: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. char *LibRaw_buffer_datastream::gets(char *s, int sz) data/libraw-0.20.2/src/libraw_datastream.cpp:610:34: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. char *LibRaw_bigfile_datastream::gets(char *str, int sz) data/libraw-0.20.2/internal/defines.h:56:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/internal/defines.h:56:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/internal/var_defines.h:211:9: [4] (buffer) fscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. #define fscanf(stream,fmt,ptr) stream->scanf_one(fmt,ptr) data/libraw-0.20.2/samples/4channels.cpp:33:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/4channels.cpp:33:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/dcraw_emu.cpp:44:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/dcraw_emu.cpp:44:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/dcraw_emu.cpp:61:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf("-c float-num Set adjust maximum threshold (default 0.75)\n" data/libraw-0.20.2/samples/dcraw_half.c:69:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(outfn, av[i]); data/libraw-0.20.2/samples/half_mt_win32.c:29:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/half_mt_win32.c:29:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/mem_image_sample.cpp:32:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/mem_image_sample.cpp:32:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/multirender_test.cpp:33:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/multirender_test.cpp:33:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/openbayer_sample.cpp:60:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(outfn, "%s.tif", av[1]); data/libraw-0.20.2/samples/raw-identify.cpp:31:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/raw-identify.cpp:31:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/simple_dcraw.cpp:33:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/simple_dcraw.cpp:33:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/unprocessed_raw.cpp:36:9: [4] (format) snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/samples/unprocessed_raw.cpp:36:18: [4] (format) _snprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. #define snprintf _snprintf data/libraw-0.20.2/src/libraw_datastream.cpp:447:15: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. scanf_res = sscanf((char *)(buf + streampos), fmt, val); data/libraw-0.20.2/src/libraw_datastream.cpp:621:20: [4] (buffer) fscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. If the scanf format is influenceable by an attacker, it's exploitable. fscanf(f, fmt, val) data/libraw-0.20.2/src/metadata/cr3_parser.cpp:225:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(HandlerType, sHandlerType[0]); data/libraw-0.20.2/src/metadata/fuji.cpp:82:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imFuji.RAFVersion, model2); data/libraw-0.20.2/src/metadata/fuji.cpp:749:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model2, ystr); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:187:28: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). if (add_MP_toName) strcpy(model, Hasselblad_SensorEnclosures[c]); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:196:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, str); \ data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:430:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(model, imHassy.Sensor); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:449:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(normalized_model, ps); data/libraw-0.20.2/src/metadata/identify.cpp:110:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_make, CorpTable[i].CorpName); data/libraw-0.20.2/src/metadata/identify.cpp:163:13: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model,software); data/libraw-0.20.2/src/metadata/identify.cpp:537:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imFuji.RAFVersion, model2); data/libraw-0.20.2/src/metadata/identify.cpp:694:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(make, table[i].t_make); data/libraw-0.20.2/src/metadata/identify.cpp:695:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, table[i].t_model); data/libraw-0.20.2/src/metadata/identify.cpp:859:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(make, CorpTable[i].CorpName); data/libraw-0.20.2/src/metadata/identify.cpp:1025:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:1176:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(cdesc, colors == 3 ? "RGBG" : "GMCY"); data/libraw-0.20.2/src/metadata/identify.cpp:2429:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:2547:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:2556:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:2568:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:2594:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/identify.cpp:2602:4: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/kodak.cpp:170:13: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ilm.body, pkti + c); data/libraw-0.20.2/src/metadata/mediumformat.cpp:232:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.makernotes.phaseone.SystemModel, model); data/libraw-0.20.2/src/metadata/mediumformat.cpp:422:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.shootinginfo.BodySerial, words[0]); data/libraw-0.20.2/src/metadata/mediumformat.cpp:431:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.shootinginfo.InternalBodySerial, words[0]); data/libraw-0.20.2/src/metadata/mediumformat.cpp:449:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, mod[i]); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:60:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(make, table[i].t_make); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:62:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, table[i].t_model); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:280:9: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if (sscanf(date, "%*s %s %d %d:%d:%d %d", month, &t.tm_mday, &t.tm_hour, data/libraw-0.20.2/src/metadata/misc_parsers.cpp:393:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, cp + 1); data/libraw-0.20.2/src/metadata/normalize_model.cpp:599:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_make, make); data/libraw-0.20.2/src/metadata/normalize_model.cpp:605:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, imgdata.color.UniqueCameraModel); data/libraw-0.20.2/src/metadata/normalize_model.cpp:627:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy (imgdata.lens.Lens, imgdata.color.UniqueCameraModel); data/libraw-0.20.2/src/metadata/normalize_model.cpp:689:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:699:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, unique[i].t_model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:700:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, unique[i].t_model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:717:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:733:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:743:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:762:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:797:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:814:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:825:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:853:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:880:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:900:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:930:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:943:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:957:13: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, sonique[i].t_model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:958:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, sonique[i].t_model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:977:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, orig); data/libraw-0.20.2/src/metadata/normalize_model.cpp:985:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:990:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:995:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1000:7: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(normalized_model, model); data/libraw-0.20.2/src/metadata/p1.cpp:184:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ilm.body, p1_unique[i].t_model); data/libraw-0.20.2/src/metadata/pentax.cpp:447:5: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(ilm.Lens, LensInfo); data/libraw-0.20.2/src/metadata/pentax.cpp:472:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(imgdata.shootinginfo.BodySerial, "%8s", buffer + 8); data/libraw-0.20.2/src/metadata/pentax.cpp:475:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(imgdata.shootinginfo.InternalBodySerial, "%8s", buffer); data/libraw-0.20.2/src/metadata/tiff.cpp:892:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(model, cp + 1); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:56:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(prof_desc, "%s gamma %g toe slope %g", name[output_color - 1], floorf(1000.f/gamm[0]+.5f)/1000.f, floorf(gamm[1]*1000.0f+.5f)/1000.f); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:92:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((char *)oprof + pbody[5] + 12, prof_desc); data/libraw-0.20.2/src/utils/utils_libraw.cpp:95:5: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(string, list[i]); data/libraw-0.20.2/src/write/file_write.cpp:75:3: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(th->soft, "dcraw v" DCRAW_VERSION); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:155:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.idata.make, value); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:157:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.idata.model, value); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:159:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.shootinginfo.BodySerial, value); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:161:11: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(imgdata.color.model2, value); data/libraw-0.20.2/internal/libraw_internal_funcs.h:337:30: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void identify_finetune_dcr(char head[64],int,int); data/libraw-0.20.2/internal/libraw_internal_funcs.h:346:118: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void ahd_interpolate_build_homogeneity_map(int top, int left, short (*lab)[LIBRAW_AHD_TILE][LIBRAW_AHD_TILE][3], char (*out_homogeneity_map)[LIBRAW_AHD_TILE][2]); data/libraw-0.20.2/internal/libraw_internal_funcs.h:347:124: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void ahd_interpolate_combine_homogeneous_pixels(int top, int left, ushort (*rgb)[LIBRAW_AHD_TILE][LIBRAW_AHD_TILE][3], char (*homogeneity_map)[LIBRAW_AHD_TILE][2]); data/libraw-0.20.2/internal/x3f_tools.h:478:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char white_balance[SIZE_WHITE_BALANCE]; /* Introduced in 2.1 */ data/libraw-0.20.2/internal/x3f_tools.h:479:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char color_mode[SIZE_COLOR_MODE]; /* Introduced in 2.3 */ data/libraw-0.20.2/libraw/libraw_internal.h:222:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char c[4]; data/libraw-0.20.2/libraw/libraw_internal.h:242:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t_desc[512], t_make[64], t_model[64], soft[32], date[20], t_artist[64]; data/libraw-0.20.2/libraw/libraw_types.h:177:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char data[1]; data/libraw-0.20.2/libraw/libraw_types.h:182:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char guard[4]; data/libraw-0.20.2/libraw/libraw_types.h:183:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char make[64]; data/libraw-0.20.2/libraw/libraw_types.h:184:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char model[64]; data/libraw-0.20.2/libraw/libraw_types.h:185:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char software[64]; data/libraw-0.20.2/libraw/libraw_types.h:186:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char normalized_make[64]; data/libraw-0.20.2/libraw/libraw_types.h:187:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char normalized_model[64]; data/libraw-0.20.2/libraw/libraw_types.h:194:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char xtrans[6][6]; data/libraw-0.20.2/libraw/libraw_types.h:195:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char xtrans_abs[6][6]; data/libraw-0.20.2/libraw/libraw_types.h:196:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char cdesc[5]; data/libraw-0.20.2/libraw/libraw_types.h:329:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Sensor[8]; data/libraw-0.20.2/libraw/libraw_types.h:330:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SensorUnit[64]; // SU data/libraw-0.20.2/libraw/libraw_types.h:331:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char HostBody[64]; // HB data/libraw-0.20.2/libraw/libraw_types.h:345:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char CaptureSequenceInitiator[32]; data/libraw-0.20.2/libraw/libraw_types.h:351:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SensorUnitConnector[64]; data/libraw-0.20.2/libraw/libraw_types.h:412:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SerialSignature[0x0c + 1]; data/libraw-0.20.2/libraw/libraw_types.h:413:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char RAFVersion[4 + 1]; data/libraw-0.20.2/libraw/libraw_types.h:440:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char FocusMode[7]; data/libraw-0.20.2/libraw/libraw_types.h:456:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char FlashSetting[13]; data/libraw-0.20.2/libraw/libraw_types.h:457:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char FlashType[20]; data/libraw-0.20.2/libraw/libraw_types.h:510:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char CameraType2[6]; data/libraw-0.20.2/libraw/libraw_types.h:554:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char LensFirmware[32]; data/libraw-0.20.2/libraw/libraw_types.h:576:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Software[64]; // tag 0x0203 data/libraw-0.20.2/libraw/libraw_types.h:577:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SystemType[64]; // tag 0x0204 data/libraw-0.20.2/libraw/libraw_types.h:578:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char FirmwareString[256]; // tag 0x0301 data/libraw-0.20.2/libraw/libraw_types.h:579:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SystemModel[64]; data/libraw-0.20.2/libraw/libraw_types.h:617:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char SonyDateTime[20]; data/libraw-0.20.2/libraw/libraw_types.h:672:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char model2[64]; data/libraw-0.20.2/libraw/libraw_types.h:673:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char UniqueCameraModel[64]; data/libraw-0.20.2/libraw/libraw_types.h:674:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char LocalizedCameraModel[64]; data/libraw-0.20.2/libraw/libraw_types.h:675:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ImageUniqueID[64]; data/libraw-0.20.2/libraw/libraw_types.h:676:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char RawDataUniqueID[17]; data/libraw-0.20.2/libraw/libraw_types.h:677:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char OriginalRawFileName[64]; data/libraw-0.20.2/libraw/libraw_types.h:731:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char desc[512], artist[64]; data/libraw-0.20.2/libraw/libraw_types.h:753:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char firmware[128]; data/libraw-0.20.2/libraw/libraw_types.h:813:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char p4shot_order[5]; data/libraw-0.20.2/libraw/libraw_types.h:848:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Lens[128]; data/libraw-0.20.2/libraw/libraw_types.h:854:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char body[64]; data/libraw-0.20.2/libraw/libraw_types.h:856:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char LensFeatures_pre[16], LensFeatures_suf[16]; data/libraw-0.20.2/libraw/libraw_types.h:866:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Teleconverter[128]; data/libraw-0.20.2/libraw/libraw_types.h:868:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Adapter[128]; data/libraw-0.20.2/libraw/libraw_types.h:870:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char Attachment[128]; data/libraw-0.20.2/libraw/libraw_types.h:889:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char LensMake[128], Lens[128], LensSerial[128], InternalLensSerial[128]; data/libraw-0.20.2/libraw/libraw_types.h:921:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char BodySerial[64]; data/libraw-0.20.2/libraw/libraw_types.h:922:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char InternalBodySerial[64]; /* this may be PCB or sensor serial, depends on data/libraw-0.20.2/libraw/libraw_types.h:933:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t_make[10], t_model[20]; data/libraw-0.20.2/samples/4channels.cpp:40:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024]; data/libraw-0.20.2/samples/4channels.cpp:77:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.shot_select = av[i] ? atoi(av[i]) : 0; data/libraw-0.20.2/samples/4channels.cpp:151:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char lname[8]; data/libraw-0.20.2/samples/dcraw_emu.cpp:207:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((data.fd = open(fn.c_str(), O_RDONLY)) < 0) return; data/libraw-0.20.2/samples/dcraw_emu.cpp:309:24: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.user_black = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:312:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.user_sat = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:315:36: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.raw_processing_options = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:321:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.user_flip = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:326:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.user_qual = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:337:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.med_passes = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:343:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.highlight = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:346:29: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.shot_select = abs(atoi(argv[arg++])); data/libraw-0.20.2/samples/dcraw_emu.cpp:350:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.output_color = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:364:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.fbdd_noiserd = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:375:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.greybox[c] = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:379:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.cropbox[c] = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:429:30: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.dcb_iterations = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:454:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.use_dngsdk = atoi(argv[arg++]); data/libraw-0.20.2/samples/dcraw_emu.cpp:490:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024]; data/libraw-0.20.2/samples/dcraw_emu.cpp:516:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). int file = open(argv[arg], O_RDONLY | O_BINARY); data/libraw-0.20.2/samples/dcraw_half.c:56:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024]; data/libraw-0.20.2/samples/dcraw_half.c:70:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(outfn, ".ppm"); data/libraw-0.20.2/samples/half_mt.c:66:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024], *fn; data/libraw-0.20.2/samples/half_mt.c:153:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). max_threads = atoi(av[++i]); data/libraw-0.20.2/samples/half_mt_win32.c:83:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024], *fn; data/libraw-0.20.2/samples/half_mt_win32.c:172:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). max_threads = atoi(av[++i]); data/libraw-0.20.2/samples/mem_image_sample.cpp:42:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fn[1024]; data/libraw-0.20.2/samples/mem_image_sample.cpp:49:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(fn, "wb"); data/libraw-0.20.2/samples/mem_image_sample.cpp:93:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fn[1024]; data/libraw-0.20.2/samples/mem_image_sample.cpp:95:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(fn, "wb"); data/libraw-0.20.2/samples/mem_image_sample.cpp:126:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fnt[1024]; data/libraw-0.20.2/samples/mem_image_sample.cpp:132:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fn[1024]; data/libraw-0.20.2/samples/mem_image_sample.cpp:134:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(fn, "wb"); data/libraw-0.20.2/samples/mem_image_sample.cpp:200:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). jpgqual = atoi(av[i]+2); data/libraw-0.20.2/samples/multirender_test.cpp:39:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024]; data/libraw-0.20.2/samples/openbayer_sample.cpp:37:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *in = fopen(av[1], "rb"); data/libraw-0.20.2/samples/openbayer_sample.cpp:59:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[256]; data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:91:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.highlight = atoi(argv[arg++]); data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:94:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.user_qual = atoi(argv[arg++]); data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:102:24: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.med_passes = atoi(argv[arg++]); data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:108:29: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.shot_select = abs(atoi(argv[arg++])); data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:112:26: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.cropbox[c] = atoi(argv[arg++]); data/libraw-0.20.2/samples/postprocessing_benchmark.cpp:115:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). rep = abs(atoi(argv[arg++])); data/libraw-0.20.2/samples/raw-identify.cpp:570:17: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if ((data.fd = open(fn.c_str(), O_RDONLY)) < 0) return; data/libraw-0.20.2/samples/raw-identify.cpp:674:4: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[MAX_PATH + 1]; data/libraw-0.20.2/samples/raw-identify.cpp:675:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(filelistfile, "r"); data/libraw-0.20.2/samples/raw-identify.cpp:693:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). outfile = fopen(outputfilename, "wt"); data/libraw-0.20.2/samples/raw-identify.cpp:1609:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char frame[64] = ""; data/libraw-0.20.2/samples/raw-identify.cpp:1674:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char frame[48] = ""; data/libraw-0.20.2/samples/rawtextdump.cpp:63:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int colstart = atoi(av[2]); data/libraw-0.20.2/samples/rawtextdump.cpp:64:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int rowstart = atoi(av[3]); data/libraw-0.20.2/samples/rawtextdump.cpp:66:24: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (ac > 4) channel = atoi(av[4]); data/libraw-0.20.2/samples/rawtextdump.cpp:68:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (ac > 5) width = atoi(av[5]); data/libraw-0.20.2/samples/rawtextdump.cpp:70:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). if (ac > 6) height = atoi(av[6]); data/libraw-0.20.2/samples/simple_dcraw.cpp:62:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024], thumbfn[1024]; data/libraw-0.20.2/samples/unprocessed_raw.cpp:53:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char outfn[1024]; data/libraw-0.20.2/samples/unprocessed_raw.cpp:89:35: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). OUT.shot_select = av[i] ? atoi(av[i]) : 0; data/libraw-0.20.2/samples/unprocessed_raw.cpp:178:13: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *f = fopen(fname, "wb"); data/libraw-0.20.2/samples/unprocessed_raw.cpp:303:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(th->date, "%04d:%02d:%02d %02d:%02d:%02d", t->tm_year + 1900, data/libraw-0.20.2/samples/unprocessed_raw.cpp:311:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *ofp = fopen(fn, "wb"); data/libraw-0.20.2/src/decoders/crx.cpp:974:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/crx.cpp:990:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/crx.cpp:1002:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/crx.cpp:1023:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/crx.cpp:1042:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/crx.cpp:1061:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(bandBuf, lineBuf, param->subbandWidth * sizeof(int32_t)); data/libraw-0.20.2/src/decoders/dng.cpp:222:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. FORC3 memcpy(cur[c], curve, sizeof cur[0]); data/libraw-0.20.2/src/decoders/fuji_compressed.cpp:988:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(info.linebuf[mtable[i].a], info.linebuf[mtable[i].b], line_size); data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:137:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(buf[c][0] + !c, buf[c][2], sizeof buf[c][0] - 2 * !c); data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:202:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char *buf[1]; data/libraw-0.20.2/src/decoders/load_mfbacks.cpp:93:29: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. /* static */ const signed char dir[12][2] = { data/libraw-0.20.2/src/decoders/load_mfbacks.cpp:691:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&raw_image[scan_line * raw_width + tile_n * tile_width], data/libraw-0.20.2/src/demosaic/aahd_demosaic.cpp:43:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *ndir, *homo[2]; data/libraw-0.20.2/src/demosaic/aahd_demosaic.cpp:141:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. ndir = (char *)(yuv[1] + nr_height * nr_width); data/libraw-0.20.2/src/demosaic/aahd_demosaic.cpp:415:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hm[2]; data/libraw-0.20.2/src/demosaic/ahd_demosaic.cpp:177:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char (*out_homogeneity_map)[LIBRAW_AHD_TILE][2]) data/libraw-0.20.2/src/demosaic/ahd_demosaic.cpp:239:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char (*homogeneity_map)[LIBRAW_AHD_TILE][2]) data/libraw-0.20.2/src/demosaic/ahd_demosaic.cpp:284:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pix[0], rix[hm[1] > hm[0]][0], 3 * sizeof(ushort)); data/libraw-0.20.2/src/demosaic/misc_demosaic.cpp:302:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(brow[2][col], pix, sizeof *image); data/libraw-0.20.2/src/demosaic/misc_demosaic.cpp:329:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(image[(row - 2) * width + 2], brow[0] + 2, data/libraw-0.20.2/src/demosaic/misc_demosaic.cpp:334:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(image[(row - 2) * width + 2], brow[0] + 2, data/libraw-0.20.2/src/demosaic/misc_demosaic.cpp:336:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(image[(row - 1) * width + 2], brow[1] + 2, data/libraw-0.20.2/src/demosaic/xtrans_demosaic.cpp:179:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rgb[0][row - top][col - left], image[row * width + col], 6); data/libraw-0.20.2/src/demosaic/xtrans_demosaic.cpp:180:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. FORC3 memcpy(rgb[c + 1], rgb[0], sizeof *rgb); data/libraw-0.20.2/src/demosaic/xtrans_demosaic.cpp:207:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rgb += 4, buffer, 4 * sizeof *rgb); data/libraw-0.20.2/src/libraw_datastream.cpp:189:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). buf->open(filename.c_str(), std::ios_base::in | std::ios_base::binary); data/libraw-0.20.2/src/libraw_datastream.cpp:214:10: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). buf->open(wfilename.c_str(), std::ios_base::in | std::ios_base::binary); data/libraw-0.20.2/src/libraw_datastream.cpp:515:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(fname, "rb"); data/libraw-0.20.2/src/metadata/canon.cpp:338:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:340:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:343:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens + 5, pl + 4, 60); data/libraw-0.20.2/src/metadata/canon.cpp:347:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:349:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:352:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens + 5, pl + 4, 60); data/libraw-0.20.2/src/metadata/canon.cpp:356:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 2); data/libraw-0.20.2/src/metadata/canon.cpp:358:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, pl, 2); data/libraw-0.20.2/src/metadata/canon.cpp:361:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens + 3, pl + 2, 62); data/libraw-0.20.2/src/metadata/canon.cpp:367:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:373:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:375:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:378:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens + 5, pl + 4, 60); data/libraw-0.20.2/src/metadata/canon.cpp:382:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:384:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, pl, 4); data/libraw-0.20.2/src/metadata/canon.cpp:387:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens + 5, pl + 4, 60); data/libraw-0.20.2/src/metadata/canon.cpp:390:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, pl, 64); data/libraw-0.20.2/src/metadata/canon.cpp:588:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.BodySerial, "%d", tS); data/libraw-0.20.2/src/metadata/canon.cpp:626:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:634:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:642:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 2); data/libraw-0.20.2/src/metadata/canon.cpp:650:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:658:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:666:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 4); data/libraw-0.20.2/src/metadata/canon.cpp:674:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.LensFeatures_pre, ilm.Lens, 2); data/libraw-0.20.2/src/metadata/ciff.cpp:261:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.BodySerial, "%d", len); data/libraw-0.20.2/src/metadata/ciff.cpp:263:9: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.BodySerial, "%0x-%05d", len >> 16, data/libraw-0.20.2/src/metadata/cr3_parser.cpp:112:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char UIID_Canon[17] = data/libraw-0.20.2/src/metadata/cr3_parser.cpp:124:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char AtomName[5]; data/libraw-0.20.2/src/metadata/cr3_parser.cpp:206:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. const char sHandlerType[5][5] = {"unk.", "soun", "vide", "hint", "meta"}; data/libraw-0.20.2/src/metadata/cr3_parser.cpp:211:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char nmAtom[5]; // Atom name data/libraw-0.20.2/src/metadata/cr3_parser.cpp:217:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char UIID[16]; data/libraw-0.20.2/src/metadata/cr3_parser.cpp:219:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char HandlerType[5], MediaFormatID[5]; data/libraw-0.20.2/src/metadata/exif_gps.cpp:25:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char value[4] = { 0,0,0,0 }; data/libraw-0.20.2/src/metadata/exif_gps.cpp:219:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mn_text[512]; data/libraw-0.20.2/src/metadata/exif_gps.cpp:221:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ccms[512]; data/libraw-0.20.2/src/metadata/exif_gps.cpp:247:13: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ccms, pos, l); data/libraw-0.20.2/src/metadata/exif_gps.cpp:263:52: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). imgdata.color.ccm[l][c] = (float)atoi(pos); data/libraw-0.20.2/src/metadata/fuji.cpp:76:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(imFuji.SerialSignature, PrivateMknBuf + 6, 0x0c); data/libraw-0.20.2/src/metadata/fuji.cpp:78:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(model, PrivateMknBuf + 0x12, 0x20); data/libraw-0.20.2/src/metadata/fuji.cpp:80:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(model2, PrivateMknBuf + 0x32, 4); data/libraw-0.20.2/src/metadata/fuji.cpp:680:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char FujiSerial[sizeof(imgdata.shootinginfo.InternalBodySerial)]; data/libraw-0.20.2/src/metadata/fuji.cpp:681:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *words[4]; data/libraw-0.20.2/src/metadata/fuji.cpp:682:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char yy[2], mm[3], dd[3], ystr[16], ynum[16]; data/libraw-0.20.2/src/metadata/fuji.cpp:702:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tbuf[sizeof(imgdata.shootinginfo.InternalBodySerial)]; data/libraw-0.20.2/src/metadata/fuji.cpp:753:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tbuf[sizeof(imgdata.shootinginfo.InternalBodySerial)]; data/libraw-0.20.2/src/metadata/fuji.cpp:781:11: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tbuf[sizeof(imgdata.shootinginfo.InternalBodySerial)]; data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:45:11: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). int c = atoi(strchr(imgdata.lens.Lens, ' ') +1); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:65:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ilm.LensID += atoi(ps+1)*10ULL; data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:88:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tmp_model[64]; data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:124:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(tmp_model, imgdata.color.LocalizedCameraModel,cc); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:157:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(imHassy.HostBody, model, ps-model); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:178:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "CFVII"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:179:10: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(model, "CFV"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:182:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "CFV"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:202:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-16"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:207:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-22"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:212:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-31"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:217:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-39"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:222:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-39"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:223:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H3DII"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:229:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-40"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:234:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-40"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:240:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H3DII-50"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:241:10: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. else strcpy(imHassy.Sensor, "-50"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:246:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-50"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:251:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-50c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:256:7: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(imHassy.Sensor, " II"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:258:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "X1D II 50C"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:259:9: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(normalized_model, "-II"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:261:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "X1D-50c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:267:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-60"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:272:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-100c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:279:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-16"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:284:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-20c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:289:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-22"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:296:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-31"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:308:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-39"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:318:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H3D-39"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:323:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H3DII-39"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:335:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-40"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:349:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-50"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:357:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H3DII-50"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:371:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-50c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:375:7: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(imHassy.Sensor, " II"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:377:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "X1D II 50C"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:378:9: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(normalized_model, "-II"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:380:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "X1D-50c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:387:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-60"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:395:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-80"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:401:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imHassy.Sensor, "-100c"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:409:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "V96C"); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:465:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "XH"); data/libraw-0.20.2/src/metadata/identify.cpp:395:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char head[64] = {0}, *cp; data/libraw-0.20.2/src/metadata/identify.cpp:508:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Contax"); data/libraw-0.20.2/src/metadata/identify.cpp:509:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "N Digital"); data/libraw-0.20.2/src/metadata/identify.cpp:514:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Logitech"); data/libraw-0.20.2/src/metadata/identify.cpp:515:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "Fotoman Pixtura"); data/libraw-0.20.2/src/metadata/identify.cpp:519:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Apple"); data/libraw-0.20.2/src/metadata/identify.cpp:520:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "QuickTake 100"); data/libraw-0.20.2/src/metadata/identify.cpp:525:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Apple"); data/libraw-0.20.2/src/metadata/identify.cpp:526:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "QuickTake 150"); data/libraw-0.20.2/src/metadata/identify.cpp:531:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(imFuji.SerialSignature, head + 0x10, 0x0c); data/libraw-0.20.2/src/metadata/identify.cpp:535:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(model2, head + 0x3c, 4); data/libraw-0.20.2/src/metadata/identify.cpp:582:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "NOKIA"); data/libraw-0.20.2/src/metadata/identify.cpp:617:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "ARRI"); data/libraw-0.20.2/src/metadata/identify.cpp:646:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Red"); data/libraw-0.20.2/src/metadata/identify.cpp:647:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "One"); data/libraw-0.20.2/src/metadata/identify.cpp:668:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "RaspberryPi"); data/libraw-0.20.2/src/metadata/identify.cpp:669:2: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "Pi"); data/libraw-0.20.2/src/metadata/identify.cpp:680:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char AtomNameStack[128]; data/libraw-0.20.2/src/metadata/identify.cpp:681:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Canon"); data/libraw-0.20.2/src/metadata/identify.cpp:777:6: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "SonyRPF"); data/libraw-0.20.2/src/metadata/identify.cpp:797:6: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "OmniVision"); data/libraw-0.20.2/src/metadata/identify.cpp:815:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Broadcom"); data/libraw-0.20.2/src/metadata/identify.cpp:816:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "RPi IMX219"); data/libraw-0.20.2/src/metadata/identify.cpp:831:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Broadcom"); data/libraw-0.20.2/src/metadata/identify.cpp:833:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "RPi OV5647 v.1"); data/libraw-0.20.2/src/metadata/identify.cpp:835:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "RPi OV5647 v.2"); data/libraw-0.20.2/src/metadata/identify.cpp:869:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Pentax"); data/libraw-0.20.2/src/metadata/identify.cpp:872:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Kodak"); data/libraw-0.20.2/src/metadata/identify.cpp:1000:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "C603"); data/libraw-0.20.2/src/metadata/identify.cpp:1024:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(model, "%dx%d", width, height); data/libraw-0.20.2/src/metadata/identify.cpp:1099:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(rgb_cam, cmatrix, sizeof cmatrix); data/libraw-0.20.2/src/metadata/identify.cpp:1652:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "E995"); data/libraw-0.20.2/src/metadata/identify.cpp:1657:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "E2500"); data/libraw-0.20.2/src/metadata/identify.cpp:1672:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Minolta"); data/libraw-0.20.2/src/metadata/identify.cpp:1673:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DiMAGE Z2"); data/libraw-0.20.2/src/metadata/identify.cpp:1678:36: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. void LibRaw::identify_finetune_dcr(char head[64], int fsize, int flen) data/libraw-0.20.2/src/metadata/identify.cpp:1841:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model + 10, "S2 IS"); // chdk hack data/libraw-0.20.2/src/metadata/identify.cpp:2032:5: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). (atoi(model + 1) < 3700)) // but not E3700; data/libraw-0.20.2/src/metadata/identify.cpp:2137:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "ISG"); data/libraw-0.20.2/src/metadata/identify.cpp:2256:6: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. ((char *)xtrans)[c] = data/libraw-0.20.2/src/metadata/identify.cpp:2428:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "V96C"); data/libraw-0.20.2/src/metadata/identify.cpp:2545:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(cdesc, "RBTG"); data/libraw-0.20.2/src/metadata/identify.cpp:2546:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "CatchLight"); data/libraw-0.20.2/src/metadata/identify.cpp:2555:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DCB2"); data/libraw-0.20.2/src/metadata/identify.cpp:2567:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "Cantare"); data/libraw-0.20.2/src/metadata/identify.cpp:2593:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "Valeo 6"); data/libraw-0.20.2/src/metadata/identify.cpp:2601:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "Valeo 6"); data/libraw-0.20.2/src/metadata/identify.cpp:2656:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(cdesc, "RGBE"); data/libraw-0.20.2/src/metadata/identify.cpp:2787:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(cdesc, "MYCY"); data/libraw-0.20.2/src/metadata/identify.cpp:2870:4: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model + 10, "200"); data/libraw-0.20.2/src/metadata/kodak.cpp:150:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char kti[1024]; data/libraw-0.20.2/src/metadata/kodak.cpp:175:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ilm.CurFocal = atoi(pkti + c); data/libraw-0.20.2/src/metadata/kodak.cpp:189:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). iso_speed = atoi(pkti + c); data/libraw-0.20.2/src/metadata/kodak.cpp:194:28: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ilm.CurFocal = atoi(pkti + c); data/libraw-0.20.2/src/metadata/leica.cpp:117:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(plln, "N/A"); data/libraw-0.20.2/src/metadata/leica.cpp:124:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(plln, "N/A"); data/libraw-0.20.2/src/metadata/leica.cpp:137:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(plibs, "N/A"); data/libraw-0.20.2/src/metadata/leica.cpp:155:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 15, plibs + 9, 4); data/libraw-0.20.2/src/metadata/leica.cpp:156:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 12, plibs + 7, 2); data/libraw-0.20.2/src/metadata/leica.cpp:157:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 9, plibs + 5, 2); data/libraw-0.20.2/src/metadata/leica.cpp:158:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 6, plibs + 3, 2); data/libraw-0.20.2/src/metadata/leica.cpp:163:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 4, "20", 2); data/libraw-0.20.2/src/metadata/leica.cpp:167:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(plibs + 4, "19", 2); data/libraw-0.20.2/src/metadata/leica.cpp:182:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[10]; data/libraw-0.20.2/src/metadata/leica.cpp:323:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "M-Adapter L"); data/libraw-0.20.2/src/metadata/makernotes.cpp:81:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[10]; data/libraw-0.20.2/src/metadata/makernotes.cpp:389:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[10]; data/libraw-0.20.2/src/metadata/makernotes.cpp:390:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char another_buf[128]; data/libraw-0.20.2/src/metadata/mediumformat.cpp:218:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(model, imgdata.makernotes.phaseone.FirmwareString, 63); data/libraw-0.20.2/src/metadata/mediumformat.cpp:237:11: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Contax 645AF"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:243:11: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Mamiya 645"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:249:11: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Hasselblad H1/H2"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:298:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Phase One"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:304:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "LightPhase"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:307:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H 10"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:310:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H 20"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:313:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "H 25"); data/libraw-0.20.2/src/metadata/mediumformat.cpp:320:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char data[40]; data/libraw-0.20.2/src/metadata/mediumformat.cpp:417:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[sizeof(imgdata.shootinginfo.BodySerial)]; data/libraw-0.20.2/src/metadata/mediumformat.cpp:418:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *words[4]; data/libraw-0.20.2/src/metadata/mediumformat.cpp:426:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[sizeof(imgdata.shootinginfo.InternalBodySerial)]; data/libraw-0.20.2/src/metadata/mediumformat.cpp:427:7: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *words[4]; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:47:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t_make[12], t_model[15]; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:72:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tail[424]; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:154:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "CINE"); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:155:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(model, "%d", get4()); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:199:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tag[4]; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:236:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "SMaL"); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:237:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(model, "v%d %dx%d", ver, width, height); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:247:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tag[4], date[64], month[64]; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:248:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char mon[12][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", data/libraw-0.20.2/src/metadata/misc_parsers.cpp:297:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line[128], *val; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:317:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thumb_offset = atoi(val); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:319:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). raw_width = atoi(val); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:321:20: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). raw_height = atoi(val); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:323:21: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thumb_width = atoi(val); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:325:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). thumb_height = atoi(val); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:333:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). black = atoi(val) +1; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:335:15: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). switch (atoi(val)) { data/libraw-0.20.2/src/metadata/misc_parsers.cpp:359:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Rollei"); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:360:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "d530flex"); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:367:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[8], *cp; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:554:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char str[20]; data/libraw-0.20.2/src/metadata/nikon.cpp:70:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy (ilm.LensFeatures_pre, "AF-P"); data/libraw-0.20.2/src/metadata/nikon.cpp:104:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "FT-1"); data/libraw-0.20.2/src/metadata/nikon.cpp:159:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "FTZ"); data/libraw-0.20.2/src/metadata/nikon.cpp:201:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, LensData + 390, 64); data/libraw-0.20.2/src/metadata/nikon.cpp:205:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, LensData + 391, 64); data/libraw-0.20.2/src/metadata/nikon.cpp:209:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(ilm.Lens, LensData + 680, 64); data/libraw-0.20.2/src/metadata/nikon.cpp:250:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[10]; data/libraw-0.20.2/src/metadata/nikon.cpp:501:11: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.BodySerial, "%d", serial); data/libraw-0.20.2/src/metadata/normalize_model.cpp:28:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t_model[20]; data/libraw-0.20.2/src/metadata/normalize_model.cpp:625:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Ricoh GXR"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:646:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR A12 50mm"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:653:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR S10"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:660:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR P10"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:667:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR A12 28mm"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:674:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR A16"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:681:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "GXR Mount A12"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:775:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Minolta"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:789:13: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Minolta"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:796:11: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Minolta"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:886:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Ricoh"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:910:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "WB5500"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:915:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "WB5000"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:920:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "WB550"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:925:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "WB500"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:984:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DC25"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:989:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DC40"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:994:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DC50"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:999:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(model, "DC120"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1032:7: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(ilm.body, " shutter system"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1046:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Contax 645"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1051:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Hasselblad H1/H2"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1056:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Mamiya 645"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1070:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.body, "Fujifilm GX680"); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1338:22: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). ilm.LensID = atoi(ps + 9); data/libraw-0.20.2/src/metadata/olympus.cpp:116:14: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char bits[4]; data/libraw-0.20.2/src/metadata/olympus.cpp:160:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Teleconverter, "MC-20"); data/libraw-0.20.2/src/metadata/olympus.cpp:162:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Teleconverter, "MC-14"); data/libraw-0.20.2/src/metadata/olympus.cpp:164:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Teleconverter, "EC-20"); data/libraw-0.20.2/src/metadata/olympus.cpp:166:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Teleconverter, "EC-14"); } data/libraw-0.20.2/src/metadata/p1.cpp:25:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char t_model[32]; data/libraw-0.20.2/src/metadata/pentax.cpp:423:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.InternalBodySerial, "%d", get4()); data/libraw-0.20.2/src/metadata/pentax.cpp:442:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char LensInfo[20]; data/libraw-0.20.2/src/metadata/pentax.cpp:454:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[17]; data/libraw-0.20.2/src/metadata/pentax.cpp:479:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.BodySerial, "%02x%02x%02x%02x", buffer[4], data/libraw-0.20.2/src/metadata/pentax.cpp:481:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.InternalBodySerial, "%02x%02x%02x%02x", data/libraw-0.20.2/src/metadata/pentax.cpp:508:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Attachment, "Wide-Angle Adapter"); data/libraw-0.20.2/src/metadata/pentax.cpp:530:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(imgdata.shootinginfo.BodySerial, buffer+4, 12); data/libraw-0.20.2/src/metadata/pentax.cpp:534:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(imgdata.lens.LensSerial, buffer+4, 12); data/libraw-0.20.2/src/metadata/sony.cpp:452:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "MC-11"); data/libraw-0.20.2/src/metadata/sony.cpp:480:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.LensFeatures_pre, "FE"); data/libraw-0.20.2/src/metadata/sony.cpp:482:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.LensFeatures_pre, "DT"); data/libraw-0.20.2/src/metadata/sony.cpp:669:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "MC-11"); data/libraw-0.20.2/src/metadata/sony.cpp:720:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.InternalBodySerial, "%06llx", data/libraw-0.20.2/src/metadata/sony.cpp:733:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.InternalBodySerial, "%05llx", data/libraw-0.20.2/src/metadata/sony.cpp:747:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(imgdata.shootinginfo.InternalBodySerial, "%04x", data/libraw-0.20.2/src/metadata/sony.cpp:1738:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(ilm.Adapter, "MC-11"); data/libraw-0.20.2/src/metadata/tiff.cpp:543:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Sarnoff"); data/libraw-0.20.2/src/metadata/tiff.cpp:609:19: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. FORC(36)((char *)xtrans)[c] = fgetc(ifp) & 3; data/libraw-0.20.2/src/metadata/tiff.cpp:632:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(cfa_pc, "\003\004\005", 3); /* CMY */ data/libraw-0.20.2/src/metadata/tiff.cpp:634:11: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(cfa_pc, "\005\003\004\001", 4); /* GMCY */ data/libraw-0.20.2/src/metadata/tiff.cpp:737:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Leaf"); data/libraw-0.20.2/src/metadata/tiff.cpp:793:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Imacon"); data/libraw-0.20.2/src/metadata/tiff.cpp:837:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(model, "Ixpress %d-Mp", c); data/libraw-0.20.2/src/metadata/tiff.cpp:861:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "Hasselblad"); data/libraw-0.20.2/src/metadata/tiff.cpp:881:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(make, "DNG"); data/libraw-0.20.2/src/metadata/tiff.cpp:1281:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mbuf[64]; data/libraw-0.20.2/src/metadata/tiff.cpp:1796:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(cdesc, "RGBG"); data/libraw-0.20.2/src/postprocessing/mem_image.cpp:103:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(exif, "\xff\xe1 Exif\0\0", 10); data/libraw-0.20.2/src/postprocessing/postprocessing_aux.cpp:325:23: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const signed char dir[8][2] = {{-1, -1}, {-1, 0}, {-1, 1}, {0, 1}, data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:59:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out_cam, rgb_cam, sizeof out_cam); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:65:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(oprof, phead, sizeof phead); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:75:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(oprof + 32, pbody, sizeof pbody); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:77:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)oprof + pbody[8] + 8, pwhite, sizeof pwhite); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:80:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy((char *)oprof + pbody[i * 3 + 2], pcurve, sizeof pcurve); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:91:5: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy((char *)oprof + pbody[2] + 8, "auto-generated by dcraw"); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:117:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pre_mul, user_mul, sizeof pre_mul); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:175:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pre_mul, cam_mul, sizeof pre_mul); data/libraw-0.20.2/src/postprocessing/postprocessing_utils_dcrdefs.cpp:274:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(img, image, height * width * sizeof *image); data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:28:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *cp, line[128]; data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:35:10: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen(cfname, "r"); data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:76:14: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!(fp = fopen(fname, "rb"))) data/libraw-0.20.2/src/utils/curves.cpp:122:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(gamm, g, sizeof gamm); data/libraw-0.20.2/src/utils/open.cpp:197:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imgdata.idata.make, "BayerDump"); data/libraw-0.20.2/src/utils/open.cpp:259:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imgdata.idata.cdesc, "RGBG"); data/libraw-0.20.2/src/utils/read_utils.cpp:69:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char c[8]; data/libraw-0.20.2/src/utils/read_utils.cpp:107:5: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char c[8]; data/libraw-0.20.2/src/utils/thumb_utils.cpp:279:15: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). FILE *tfp = fopen(fname, "wb"); data/libraw-0.20.2/src/utils/utils_dcraw.cpp:23:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. static const char filter[16][16] = { data/libraw-0.20.2/src/utils/utils_libraw.cpp:94:21: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *string = (char *)malloc(strlen(list[i]) + 1); data/libraw-0.20.2/src/write/apply_profile.cpp:47:18: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). else if ((fp = fopen(output, "rb"))) data/libraw-0.20.2/src/write/file_write.cpp:46:32: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. FORC(4) tt->val.c[c] = ((char *)th)[val + c]; data/libraw-0.20.2/src/write/file_write.cpp:77:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(th->date, "%04d:%02d:%02d %02d:%02d:%02d", t->tm_year + 1900, data/libraw-0.20.2/src/write/file_write.cpp:136:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(th->gps, gpsdata, sizeof th->gps); data/libraw-0.20.2/src/write/file_write.cpp:148:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(exif, "\xff\xe1 Exif\0\0", 10); data/libraw-0.20.2/src/write/tiff_writer.cpp:39:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(filename, "wb"); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:142:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[100], value[100]; data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:153:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). imgdata.other.iso_speed = atoi(value); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:163:37: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). imgdata.other.timestamp = atoi(value); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:238:7: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imgdata.idata.make, "SIGMA"); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:243:16: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. unsigned char buf[2048]; data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:263:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imgdata.idata.model, "sd Quattro H"); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:265:9: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(imgdata.idata.model, "dp2 Quattro"); data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:771:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[100]; data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:811:9: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[100]; data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:825:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf1[100]; data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:826:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf2[100]; data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:832:43: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. : (sprintf(buf1, "%x", t->leaf), buf1), data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:1860:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(entry->matrix_decoded, entry->matrix_data, size); data/libraw-0.20.2/internal/dcraw_defs.h:31:3: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(buf, string, LIM(sizeof(buf) - strbuflen(buf) - 1, 0, sizeof(buf))) data/libraw-0.20.2/internal/var_defines.h:198:42: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define fread(ptr,size,n,stream) stream->read(ptr,size,n) data/libraw-0.20.2/internal/var_defines.h:204:8: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #ifdef getc data/libraw-0.20.2/internal/var_defines.h:205:8: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #undef getc data/libraw-0.20.2/internal/var_defines.h:207:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define getc(stream) stream->get_char() data/libraw-0.20.2/internal/var_defines.h:208:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define fgetc(stream) stream->get_char() data/libraw-0.20.2/libraw/libraw_datastream.h:90:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual int read(void *, size_t, size_t) = 0; data/libraw-0.20.2/libraw/libraw_datastream.h:142:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual int read(void *ptr, size_t size, size_t nmemb); data/libraw-0.20.2/libraw/libraw_datastream.h:164:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual int read(void *ptr, size_t sz, size_t nmemb); data/libraw-0.20.2/libraw/libraw_datastream.h:193:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). virtual int read(void *ptr, size_t size, size_t nmemb); data/libraw-0.20.2/libraw/libraw_datastream.h:209:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return fgetc(f); data/libraw-0.20.2/libraw/libraw_datastream.h:284:22: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). parent_stream->read(data, 1, count); data/libraw-0.20.2/samples/4channels.cpp:156:11: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(lname, "2"); data/libraw-0.20.2/samples/dcraw_emu.cpp:394:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(OUT.p4shot_order, argv[arg++], 5); data/libraw-0.20.2/samples/dcraw_emu.cpp:537:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (st.st_size != (rd = read(file, iobuffer, st.st_size))) data/libraw-0.20.2/samples/dcraw_emu.cpp:607:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(outfn, outext, sizeof(outfn)); data/libraw-0.20.2/samples/dcraw_emu.cpp:610:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(outfn, argv[arg], sizeof(outfn)); data/libraw-0.20.2/samples/dcraw_emu.cpp:611:13: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(outfn) > 0) data/libraw-0.20.2/samples/dcraw_emu.cpp:613:36: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *lastchar = outfn + strlen(outfn); // points to term 0 data/libraw-0.20.2/samples/dcraw_emu.cpp:625:9: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. Risk is low because the source is a constant character. strncat(outfn, ".", sizeof(outfn) - strlen(outfn) - 1); data/libraw-0.20.2/samples/dcraw_emu.cpp:625:45: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat(outfn, ".", sizeof(outfn) - strlen(outfn) - 1); data/libraw-0.20.2/samples/dcraw_emu.cpp:626:9: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(outfn, outext, sizeof(outfn) - strlen(outfn) - 1); data/libraw-0.20.2/samples/dcraw_emu.cpp:626:48: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strncat(outfn, outext, sizeof(outfn) - strlen(outfn) - 1); data/libraw-0.20.2/samples/raw-identify.cpp:509:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int l = strlen(p); data/libraw-0.20.2/src/decoders/crx.cpp:211:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitStrm->curBufSize = bitStrm->input->read( data/libraw-0.20.2/src/decoders/crx.cpp:2458:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(hdrBuf, 1, hdr.mdatHdrSize); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:40:42: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (!reset && vbits < nbits && (c = fgetc(ifp)) != (unsigned)EOF && data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:41:50: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). !(reset = zero_after_ff && c == 0xff && fgetc(ifp))) data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:259:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:318:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:395:35: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). mark = (mark << 8) + (c = fgetc(ifp)); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:460:35: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). mark = (mark << 8) + (c = fgetc(ifp)); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:807:25: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC(dep) bit[1][c] = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:836:10: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ver0 = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:837:10: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ver1 = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:884:10: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ver0 = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:885:10: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ver1 = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:961:35: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC(6) bitbuf |= (UINT64)fgetc(ifp) << c * 8; data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:1411:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fseek(ifp, (unsigned)fgetc(ifp) * 4 - 1, SEEK_CUR); data/libraw-0.20.2/src/decoders/decoders_dcraw.cpp:1676:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). opt = fgetc(ifp); data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:197:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(buf, 1, linelen); data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:218:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(buf, 1, linelen); data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:248:47: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read( data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:364:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (libraw_internal_data.internal_data.input->read( data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:433:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (libraw_internal_data.internal_data.input->read( data/libraw-0.20.2/src/decoders/decoders_libraw.cpp:513:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(rd, 3, data/libraw-0.20.2/src/decoders/fp_dng.cpp:346:51: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(cBuffer, 1, tBytes[t]); data/libraw-0.20.2/src/decoders/fuji_compressed.cpp:149:41: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). info->cur_buf_size = info->input->read( data/libraw-0.20.2/src/decoders/fuji_compressed.cpp:1036:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read( data/libraw-0.20.2/src/decoders/fuji_compressed.cpp:1090:45: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(header, 1, sizeof(header)); data/libraw-0.20.2/src/decoders/generic.cpp:75:31: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitbuf |= (unsigned(fgetc(ifp)) << i); data/libraw-0.20.2/src/decoders/generic.cpp:79:48: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (load_flags & 1 && (col % 10) == 9 && fgetc(ifp) && data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:402:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(ifp); data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:419:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitbuf = fgetc(ifp) << 8; data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:420:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitbuf += fgetc(ifp); data/libraw-0.20.2/src/decoders/kodak_decoders.cpp:429:26: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitbuf += (INT64)fgetc(ifp) << (bits + (j ^ 8)); data/libraw-0.20.2/src/decoders/smal.cpp:166:17: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). nseg = (uchar)fgetc(ifp); data/libraw-0.20.2/src/decoders/smal.cpp:171:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). holes = fgetc(ifp); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:111:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(T.thumb, 1, T.tlength); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:132:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(T.thumb, 1, T.tlength); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:166:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(tbuf, colors, T.tlength); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:267:27: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(dest, sz, 1); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:291:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(T.thumb, 1, T.tlength); data/libraw-0.20.2/src/decoders/unpack_thumb.cpp:315:19: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(t_thumb, 1, i_length); data/libraw-0.20.2/src/integration/rawspeed_glue.cpp:90:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len += strlen(_rawspeed_data_xml[i]); data/libraw-0.20.2/src/integration/rawspeed_glue.cpp:100:16: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int ll = strlen(_rawspeed_data_xml[i]); data/libraw-0.20.2/src/integration/rawspeed_glue.cpp:177:15: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(_rawspeed_buffer, _rawspeed_buffer_sz, 1); data/libraw-0.20.2/src/integration/rawspeed_glue.cpp:252:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strncmp(RDE.what(), "Decoder canceled", strlen("Decoder canceled"))) data/libraw-0.20.2/src/libraw_datastream.cpp:75:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). nbytes = src->instream->read((void*)src->buffer, 1, LR_JPEG_INPUT_BUF_SIZE); data/libraw-0.20.2/src/libraw_datastream.cpp:240:29: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int LibRaw_file_datastream::read(void *ptr, size_t size, size_t nmemb) data/libraw-0.20.2/src/libraw_datastream.cpp:360:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int LibRaw_buffer_datastream::read(void *ptr, size_t sz, size_t nmemb) data/libraw-0.20.2/src/libraw_datastream.cpp:570:32: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int LibRaw_bigfile_datastream::read(void *ptr, size_t size, size_t nmemb) data/libraw-0.20.2/src/metadata/cr3_parser.cpp:239:56: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC4 nmAtom[c] = AtomNameStack[nesting * 4 + c] = fgetc(ifp); data/libraw-0.20.2/src/metadata/cr3_parser.cpp:362:30: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC4 HandlerType[c] = fgetc(ifp); data/libraw-0.20.2/src/metadata/cr3_parser.cpp:382:32: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC4 MediaFormatID[c] = fgetc(ifp); data/libraw-0.20.2/src/metadata/exif_gps.cpp:307:23: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). exif_cfa |= fgetc(ifp) * 0x01010101U << c; data/libraw-0.20.2/src/metadata/exif_gps.cpp:347:41: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.other.parsed_gps.latref = getc(ifp); data/libraw-0.20.2/src/metadata/exif_gps.cpp:350:42: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.other.parsed_gps.longref = getc(ifp); data/libraw-0.20.2/src/metadata/exif_gps.cpp:353:41: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.other.parsed_gps.altref = getc(ifp); data/libraw-0.20.2/src/metadata/exif_gps.cpp:371:44: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.other.parsed_gps.gpsstatus = getc(ifp); data/libraw-0.20.2/src/metadata/exif_gps.cpp:398:31: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). gpsdata[29 + tag / 2] = getc(ifp); data/libraw-0.20.2/src/metadata/fuji.cpp:686:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ifp->read(FujiSerial, MIN(len,sizeof(FujiSerial)), 1); data/libraw-0.20.2/src/metadata/fuji.cpp:697:11: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imgdata.shootinginfo.InternalBodySerial, words[0], data/libraw-0.20.2/src/metadata/fuji.cpp:705:11: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imgdata.shootinginfo.InternalBodySerial, tbuf, data/libraw-0.20.2/src/metadata/fuji.cpp:711:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( data/libraw-0.20.2/src/metadata/fuji.cpp:718:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( data/libraw-0.20.2/src/metadata/fuji.cpp:725:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy( data/libraw-0.20.2/src/metadata/fuji.cpp:743:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(ynum, words[i], ynum_len); data/libraw-0.20.2/src/metadata/fuji.cpp:776:11: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imgdata.shootinginfo.InternalBodySerial, tbuf, data/libraw-0.20.2/src/metadata/fuji.cpp:789:11: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imgdata.shootinginfo.InternalBodySerial, tbuf, data/libraw-0.20.2/src/metadata/fuji.cpp:935:21: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fuji_layout = fgetc(ifp) >> 7; data/libraw-0.20.2/src/metadata/fuji.cpp:936:22: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fuji_width = !(fgetc(ifp) & 8); data/libraw-0.20.2/src/metadata/fuji.cpp:944:17: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int q = fgetc(ifp); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:96:49: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove(model, model+1, MIN(sizeof(model)-1,strlen(model))); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:122:14: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). else c = strlen(imgdata.color.LocalizedCameraModel); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:127:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(normalized_model, imgdata.color.UniqueCameraModel,sizeof(imgdata.color.UniqueCameraModel)-1); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:136:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(tmp_model, imgdata.color.UniqueCameraModel, sizeof(imgdata.color.UniqueCameraModel) - 1); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:143:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imHassy.CaptureSequenceInitiator, model,31); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:148:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(model, tmp_model,63); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:156:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imHassy.SensorUnit, model,63); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:161:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imHassy.Sensor, ps,7); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:165:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imHassy.HostBody, model,63); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:168:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(model, tmp_model,63); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:173:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(imHassy.HostBody, model,63); data/libraw-0.20.2/src/metadata/hasselblad_model.cpp:432:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove(imHassy.Sensor, imHassy.Sensor+1, strlen(imHassy.Sensor)); data/libraw-0.20.2/src/metadata/identify.cpp:156:48: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(!strncasecmp(model,alist[i].a_model,strlen(alist[i].a_model)) && software data/libraw-0.20.2/src/metadata/identify.cpp:157:58: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). && !strncasecmp(software,alist[i].a_software,strlen(alist[i].a_software)) data/libraw-0.20.2/src/metadata/identify.cpp:502:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) != 0xff) data/libraw-0.20.2/src/metadata/identify.cpp:533:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(model, head + 0x1c, 0x20); data/libraw-0.20.2/src/metadata/identify.cpp:883:31: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove(model, model + 7, strlen(model) - 6); data/libraw-0.20.2/src/metadata/identify.cpp:885:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove(model, model + 1, strlen(model)); data/libraw-0.20.2/src/metadata/identify.cpp:889:32: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). memmove(model, model + 15, strlen(model) - 14); data/libraw-0.20.2/src/metadata/identify_tools.cpp:60:32: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). bitbuf |= (unsigned)(fgetc(ifp) << i); data/libraw-0.20.2/src/metadata/identify_tools.cpp:79:11: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int l = strlen(p); data/libraw-0.20.2/src/metadata/identify_tools.cpp:111:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int fill_len = strlen(subStr); data/libraw-0.20.2/src/metadata/identify_tools.cpp:122:17: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). int orig_len = strlen(string); data/libraw-0.20.2/src/metadata/kodak.cpp:164:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Camera body:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:166:50: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while ((pkti[c] == ' ') && (c < (int)strlen(pkti))) data/libraw-0.20.2/src/metadata/kodak.cpp:173:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Lens:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:178:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Aperture:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:180:72: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while (((pkti[c] == ' ') || (pkti[c] == 'f')) && (c < (int)strlen(pkti))) data/libraw-0.20.2/src/metadata/kodak.cpp:187:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "ISO Speed:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:192:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Focal Length:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:197:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Max Aperture:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:199:72: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while (((pkti[c] == ' ') || (pkti[c] == 'f')) && (c < (int)strlen(pkti))) data/libraw-0.20.2/src/metadata/kodak.cpp:206:21: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (((int)strlen(pkti) > c) && (!strncasecmp(pkti, "Min Aperture:", c))) data/libraw-0.20.2/src/metadata/kodak.cpp:208:72: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). while (((pkti[c] == ' ') || (pkti[c] == 'f')) && (c < (int)strlen(pkti))) data/libraw-0.20.2/src/metadata/kodak.cpp:288:13: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wbi = fgetc(ifp); data/libraw-0.20.2/src/metadata/leica.cpp:276:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ci = fgetc(ifp); data/libraw-0.20.2/src/metadata/leica.cpp:277:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). cj = fgetc(ifp); data/libraw-0.20.2/src/metadata/leica.cpp:286:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ci = fgetc(ifp); data/libraw-0.20.2/src/metadata/leica.cpp:287:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). cj = fgetc(ifp); data/libraw-0.20.2/src/metadata/leica.cpp:320:50: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((tag == 0x0304) && (len == 1) && ((c = fgetc(ifp)) != 0) && data/libraw-0.20.2/src/metadata/minolta.cpp:28:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) || fgetc(ifp) - 'M' || fgetc(ifp) - 'R') data/libraw-0.20.2/src/metadata/minolta.cpp:28:21: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) || fgetc(ifp) - 'M' || fgetc(ifp) - 'R') data/libraw-0.20.2/src/metadata/minolta.cpp:28:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) || fgetc(ifp) - 'M' || fgetc(ifp) - 'R') data/libraw-0.20.2/src/metadata/minolta.cpp:30:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). order = fgetc(ifp) * 0x101; data/libraw-0.20.2/src/metadata/minolta.cpp:39:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). tag = tag << 8 | fgetc(ifp); data/libraw-0.20.2/src/metadata/minolta.cpp:54:40: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.prd_RawBitDepth = (ushort)fgetc(ifp); data/libraw-0.20.2/src/metadata/minolta.cpp:55:42: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.prd_StorageMethod = (ushort)fgetc(ifp); data/libraw-0.20.2/src/metadata/minolta.cpp:57:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.prd_BayerPattern = (ushort)fgetc(ifp); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:89:9: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (getc(ifp) > 15) data/libraw-0.20.2/src/metadata/misc_parsers.cpp:227:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ver = fgetc(ifp); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:442:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) != 0xff || fgetc(ifp) != 0xd8) data/libraw-0.20.2/src/metadata/misc_parsers.cpp:442:29: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(ifp) != 0xff || fgetc(ifp) != 0xd8) data/libraw-0.20.2/src/metadata/misc_parsers.cpp:445:10: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (fgetc(ifp) == 0xff && (mark = fgetc(ifp)) != 0xda) data/libraw-0.20.2/src/metadata/misc_parsers.cpp:445:40: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (fgetc(ifp) == 0xff && (mark = fgetc(ifp)) != 0xda) data/libraw-0.20.2/src/metadata/misc_parsers.cpp:452:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fgetc(ifp); data/libraw-0.20.2/src/metadata/misc_parsers.cpp:540:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). histo[fgetc(ifp)]++; data/libraw-0.20.2/src/metadata/misc_parsers.cpp:560:16: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). str[i] = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:318:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ci = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:319:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). cj = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:320:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ck = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:482:21: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while ((c = fgetc(ifp)) && (len-- > 0) && (c != (unsigned)EOF)) data/libraw-0.20.2/src/metadata/nikon.cpp:522:52: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_powf64l(2.0f, double((uchar)fgetc(ifp)) / 12.0 - 5.0)); data/libraw-0.20.2/src/metadata/nikon.cpp:553:37: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.lens.nikon.LensType = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:564:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ci = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:565:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). cj = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:566:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ck = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:589:46: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.ColorBalanceVersion * 10 + fgetc(ifp) - '0'; data/libraw-0.20.2/src/metadata/nikon.cpp:662:42: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.LensDataVersion * 10 + fgetc(ifp) - '0'; data/libraw-0.20.2/src/metadata/nikon.cpp:705:21: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.key = fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:705:34: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.key = fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:705:47: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.key = fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:705:60: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.key = fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp) ^ fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:745:43: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.FlashInfoVersion * 10 + fgetc(ifp) - '0'; data/libraw-0.20.2/src/metadata/nikon.cpp:756:28: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.AFFineTune = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:757:33: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.AFFineTuneIndex = fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:758:39: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imNikon.AFFineTuneAdj = (int8_t)fgetc(ifp); data/libraw-0.20.2/src/metadata/nikon.cpp:781:36: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). WhiteBalanceAdj_active = fgetc(ifp); data/libraw-0.20.2/src/metadata/normalize_model.cpp:1005:47: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strncmp(model, KodakMonochrome[i], strlen(KodakMonochrome[i]))) data/libraw-0.20.2/src/metadata/normalize_model.cpp:1186:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). strlen(Kodak_mounts[i].Kmodel))) data/libraw-0.20.2/src/metadata/normalize_model.cpp:1335:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if ((ilm.LensMount == LIBRAW_MOUNT_Samsung_NX) && xmpdata && (strlen(xmpdata) > 9) && data/libraw-0.20.2/src/metadata/olympus.cpp:152:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ilm.TeleconverterID = fgetc(ifp) << 8; data/libraw-0.20.2/src/metadata/olympus.cpp:153:5: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fgetc(ifp); data/libraw-0.20.2/src/metadata/olympus.cpp:154:49: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ilm.TeleconverterID = ilm.TeleconverterID | fgetc(ifp); data/libraw-0.20.2/src/metadata/olympus.cpp:158:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strlen(ilm.Teleconverter) && strchr(ilm.Lens, '+')) { data/libraw-0.20.2/src/metadata/pentax.cpp:323:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). unsigned a = unsigned(fgetc(ifp)) << 8; data/libraw-0.20.2/src/metadata/pentax.cpp:324:22: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ilm.LensID = a | fgetc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:328:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imCommon.CameraTemperature = (float)fgetc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:335:48: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imCommon.FlashEC = (float)((signed short)fgetc(ifp)) / 6.0f; data/libraw-0.20.2/src/metadata/pentax.cpp:339:5: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). fgetc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:340:54: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imgdata.shootinginfo.ImageStabilization = (short)fgetc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:354:22: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). short a = (short)fgetc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:390:32: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imPentax.MultiExposure = fgetc(ifp) & 0x0f; data/libraw-0.20.2/src/metadata/pentax.cpp:432:5: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). getc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:435:16: [1] (buffer) getc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). wb_ind = getc(ifp); data/libraw-0.20.2/src/metadata/pentax.cpp:445:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(ilm.Lens, " "); data/libraw-0.20.2/src/metadata/sony.cpp:478:5: [1] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant character. strcpy(ilm.LensFeatures_pre, "E"); data/libraw-0.20.2/src/metadata/sony.cpp:1061:56: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC4 imSony.FileFormat = imSony.FileFormat * 10 + fgetc(ifp); data/libraw-0.20.2/src/metadata/sony.cpp:1547:34: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.AFAreaModeSetting = fgetc(ifp); data/libraw-0.20.2/src/metadata/sony.cpp:1571:32: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.AFPointSelected = fgetc(ifp); data/libraw-0.20.2/src/metadata/sony.cpp:1590:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.AFTracking = fgetc(ifp); data/libraw-0.20.2/src/metadata/sony.cpp:1623:35: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.numInPixelShiftGroup = fgetc(ifp); data/libraw-0.20.2/src/metadata/sony.cpp:1624:38: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). imSony.nShotsInPixelShiftGroup = fgetc(ifp); data/libraw-0.20.2/src/metadata/tiff.cpp:233:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ilm.LensID = fgetc(ifp); data/libraw-0.20.2/src/metadata/tiff.cpp:245:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). utmp = (fgetc(ifp) << 8) | fgetc(ifp); data/libraw-0.20.2/src/metadata/tiff.cpp:245:38: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). utmp = (fgetc(ifp) << 8) | fgetc(ifp); data/libraw-0.20.2/src/metadata/tiff.cpp:335:57: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((type != LIBRAW_EXIFTAG_TYPE_UNDEFINED) || (fgetc(ifp) != 0xff) || (fgetc(ifp) != 0xd8)) data/libraw-0.20.2/src/metadata/tiff.cpp:335:81: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if ((type != LIBRAW_EXIFTAG_TYPE_UNDEFINED) || (fgetc(ifp) != 0xff) || (fgetc(ifp) != 0xd8)) data/libraw-0.20.2/src/metadata/tiff.cpp:609:39: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC(36)((char *)xtrans)[c] = fgetc(ifp) & 3; data/libraw-0.20.2/src/metadata/tiff.cpp:617:33: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC(36) xtrans[0][c] = fgetc(ifp) & 3; data/libraw-0.20.2/src/metadata/tiff.cpp:879:48: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). FORC4 dng_version = (dng_version << 8) + fgetc(ifp); data/libraw-0.20.2/src/metadata/tiff.cpp:888:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(make, imgdata.color.UniqueCameraModel, data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:81:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(fp) != 'P' || fgetc(fp) != '5') data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:81:27: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (fgetc(fp) != 'P' || fgetc(fp) != '5') data/libraw-0.20.2/src/preprocessing/ext_preprocess.cpp:83:35: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while (!error && nd < 3 && (c = fgetc(fp)) != EOF) data/libraw-0.20.2/src/tables/colordata.cpp:1704:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). unsigned l = strlen(table[i].prefix); data/libraw-0.20.2/src/utils/open.cpp:982:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ID.input->read(C.profile, C.profile_length, 1); data/libraw-0.20.2/src/utils/read_utils.cpp:97:22: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). u.c[i ^ rev] = fgetc(ifp); data/libraw-0.20.2/src/utils/read_utils.cpp:100:12: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). return fgetc(ifp); data/libraw-0.20.2/src/utils/utils_dcraw.cpp:76:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (!strncasecmp(c, needle, strlen(needle))) data/libraw-0.20.2/src/utils/utils_libraw.cpp:92:9: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if (strlen(list[i]) < 10) data/libraw-0.20.2/src/utils/utils_libraw.cpp:94:35: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). char *string = (char *)malloc(strlen(list[i]) + 1); data/libraw-0.20.2/src/utils/utils_libraw.cpp:145:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(table[index].t_make, start, sizeof(table[index].t_make) - 1); data/libraw-0.20.2/src/utils/utils_libraw.cpp:148:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(table[index].t_model, start, sizeof(table[index].t_model) - 1); data/libraw-0.20.2/src/utils/utils_libraw.cpp:572:17: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). int r = fp->read(buf, len, 1); data/libraw-0.20.2/src/write/file_write.cpp:72:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(th->t_desc, desc, 512); data/libraw-0.20.2/src/write/file_write.cpp:73:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(th->t_make, make, 64); data/libraw-0.20.2/src/write/file_write.cpp:74:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(th->t_model, model, 64); data/libraw-0.20.2/src/write/file_write.cpp:79:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(th->t_artist, artist, 64); data/libraw-0.20.2/src/x3f/x3f_parse_process.cpp:244:49: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). libraw_internal_data.internal_data.input->read(buf, 2048, 1); data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:64:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). f->read(str, 1, 2); data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:76:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). f->read(str, 1, 4); data/libraw-0.20.2/src/x3f/x3f_utils_patched.cpp:129:55: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). #define GETN(_v, _s) PUT_GET_N(_v, _s, I->input.file, read) ANALYSIS SUMMARY: Hits = 770 Lines analyzed = 59225 in approximately 1.80 seconds (32859 lines/second) Physical Source Lines of Code (SLOC) = 51892 Hits@level = [0] 624 [1] 225 [2] 445 [3] 0 [4] 92 [5] 8 Hits@level+ = [0+] 1394 [1+] 770 [2+] 545 [3+] 100 [4+] 100 [5+] 8 Hits/KSLOC@level+ = [0+] 26.8635 [1+] 14.8385 [2+] 10.5026 [3+] 1.92708 [4+] 1.92708 [5+] 0.154166 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.