wavpack-5.6.0-6.fc40
List of Defects
Error: CPPCHECK_WARNING: [#def1]
wavpack-5.6.0-build/wavpack-5.6.0/cli/aiff.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def2]
wavpack-5.6.0-build/wavpack-5.6.0/cli/aiff_write.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def3]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def4]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:188:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'channel_identities'
# 186| if (!DoReadFile (infile, &caf_chunk_header, sizeof (CAFChunkHeader), &bcount) ||
# 187| bcount != sizeof (CAFChunkHeader)) {
# 188|-> error_line ("%s is not a valid .CAF file!", infilename);
# 189| return WAVPACK_SOFT_ERROR;
# 190| }
Error: CLANG_WARNING: [#def5]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:188:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'channel_reorder'
# 186| if (!DoReadFile (infile, &caf_chunk_header, sizeof (CAFChunkHeader), &bcount) ||
# 187| bcount != sizeof (CAFChunkHeader)) {
# 188|-> error_line ("%s is not a valid .CAF file!", infilename);
# 189| return WAVPACK_SOFT_ERROR;
# 190| }
Error: GCC_ANALYZER_WARNING (CWE-688): [#def6]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c: scope_hint: In function ‘ParseCaffHeaderConfig’
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:343:25: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘channel_reorder’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 341|
# 342| channel_reorder = malloc (num_descriptions);
# 343|-> memset (channel_reorder, -1, num_descriptions);
# 344| channel_identities = malloc (num_descriptions+1);
# 345|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:372:67: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘channel_identities’
# 370|
# 371| if (clabel == 0 || clabel == 0xffffffff || clabel == 100)
# 372|-> channel_identities [idents++] = 0xff;
# 373| else if ((clabel >= 33 && clabel <= 44) || (clabel >= 200 && clabel <= 207) || (clabel >= 301 && clabel <= 305))
# 374| channel_identities [idents++] = clabel >= 301 ? clabel - 80 : clabel;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:374:67: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘channel_identities’
# 372| channel_identities [idents++] = 0xff;
# 373| else if ((clabel >= 33 && clabel <= 44) || (clabel >= 200 && clabel <= 207) || (clabel >= 301 && clabel <= 305))
# 374|-> channel_identities [idents++] = clabel >= 301 ? clabel - 80 : clabel;
# 375| else {
# 376| error_line ("warning: unknown channel descriptions label: %d", clabel);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff.c:377:67: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘channel_identities’
# 375| else {
# 376| error_line ("warning: unknown channel descriptions label: %d", clabel);
# 377|-> channel_identities [idents++] = 0xff;
# 378| }
# 379|
Error: CPPCHECK_WARNING: [#def10]
wavpack-5.6.0-build/wavpack-5.6.0/cli/caff_write.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def11]
wavpack-5.6.0-build/wavpack-5.6.0/cli/dsdiff.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def12]
wavpack-5.6.0-build/wavpack-5.6.0/cli/dsdiff_write.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def13]
wavpack-5.6.0-build/wavpack-5.6.0/cli/dsf.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def14]
wavpack-5.6.0-build/wavpack-5.6.0/cli/dsf_write.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def15]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def16]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c: scope_hint: In function ‘ImportID3v2_syncsafe’
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:165:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘frame_body’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memcpy’ must be non-null
# 163| frame_body = malloc (frame_size + 4);
# 164|
# 165|-> memcpy (frame_body, tag_data, frame_size);
# 166| tag_size -= frame_size;
# 167| tag_data += frame_size;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def17]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:180:53: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘malloc((long unsigned int)(frame_size * 3))’
# 178|
# 179| for (i = 0; fp < fe; ++i)
# 180|-> if (!(utf8_strings [si] [i] = *fp++))
# 181| break;
# 182|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def18]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:184:47: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘malloc((long unsigned int)(frame_size * 3))’
# 182|
# 183| if (fp == fe)
# 184|-> utf8_strings [si] [i] = 0;
# 185|
# 186| Latin1ToUTF8 (utf8_strings [si++], frame_size * 3);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def19]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:198:47: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘wide_string’
# 196|
# 197| for (i = 0; fp <= fe - 2; ++i, fp += 2)
# 198|-> if (!(wide_string [i] = fp [0] | (fp [1] << 8))) {
# 199| fp += 2;
# 200| break;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def20]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:203:37: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘wide_string’
# 201| }
# 202|
# 203|-> wide_string [i] = 0;
# 204| WideCharToUTF8 (wide_string, utf8_strings [si++], frame_size * 2);
# 205| }
Error: GCC_ANALYZER_WARNING (CWE-688): [#def21]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:323:21: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘binary_tag_image’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 321| char *binary_tag_image = malloc (binary_tag_size);
# 322|
# 323|-> strcpy (binary_tag_image, item);
# 324| strcat (binary_tag_image, extension);
# 325| memcpy (binary_tag_image + binary_tag_size - frame_bytes, frame_ptr, frame_bytes);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def22]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c: scope_hint: In function ‘WideCharToUTF8’
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:401:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pUTF8’
# 399| while (*pWide) {
# 400| if (*pWide < 0x80 && outndx + 1 < len)
# 401|-> pUTF8 [outndx++] = (unsigned char) *pWide++;
# 402| else if (*pWide < 0x800 && outndx + 2 < len) {
# 403| pUTF8 [outndx++] = (unsigned char) (0xc0 | ((*pWide >> 6) & 0x1f));
Error: GCC_ANALYZER_WARNING (CWE-476): [#def23]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:403:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pUTF8’
# 401| pUTF8 [outndx++] = (unsigned char) *pWide++;
# 402| else if (*pWide < 0x800 && outndx + 2 < len) {
# 403|-> pUTF8 [outndx++] = (unsigned char) (0xc0 | ((*pWide >> 6) & 0x1f));
# 404| pUTF8 [outndx++] = (unsigned char) (0x80 | (*pWide++ & 0x3f));
# 405| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def24]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:407:30: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pUTF8’
# 405| }
# 406| else if (outndx + 3 < len) {
# 407|-> pUTF8 [outndx++] = (unsigned char) (0xe0 | ((*pWide >> 12) & 0xf));
# 408| pUTF8 [outndx++] = (unsigned char) (0x80 | ((*pWide >> 6) & 0x3f));
# 409| pUTF8 [outndx++] = (unsigned char) (0x80 | (*pWide++ & 0x3f));
Error: GCC_ANALYZER_WARNING (CWE-476): [#def25]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:415:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘pUTF8’
# 413| }
# 414|
# 415|-> pUTF8 [outndx] = 0;
# 416| return (int)(pWide - Wide);
# 417| }
Error: GCC_ANALYZER_WARNING (CWE-688): [#def26]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c: scope_hint: In function ‘Latin1ToUTF8’
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:453:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘temp’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 451| iconv_t converter;
# 452|
# 453|-> memset(temp, 0, len);
# 454|
# 455| insize = strlen (string);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def27]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:455:14: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘string’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null
# 453| memset(temp, 0, len);
# 454|
# 455|-> insize = strlen (string);
# 456| converter = iconv_open ("UTF-8", "ISO-8859-1");
# 457|
Error: GCC_ANALYZER_WARNING (CWE-457): [#def28]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:455:14: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*(char *)string’
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:17: included_from: Included from here.
/usr/include/string.h:407:15: note: argument 1 of ‘strlen’ must be a pointer to a null-terminated string
# 453| memset(temp, 0, len);
# 454|
# 455|-> insize = strlen (string);
# 456| converter = iconv_open ("UTF-8", "ISO-8859-1");
# 457|
Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
wavpack-5.6.0-build/wavpack-5.6.0/cli/import_id3.c:458:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open("UTF-8", "ISO-8859-1")’
# 456| converter = iconv_open ("UTF-8", "ISO-8859-1");
# 457|
# 458|-> if (converter != (iconv_t) -1) {
# 459| err = iconv (converter, &inp, &insize, &outp, &outsize);
# 460| iconv_close (converter);
Error: CPPCHECK_WARNING: [#def30]
wavpack-5.6.0-build/wavpack-5.6.0/cli/riff.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def31]
wavpack-5.6.0-build/wavpack-5.6.0/cli/riff_write.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def32]
wavpack-5.6.0-build/wavpack-5.6.0/cli/utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def33]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wave64.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def34]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: COMPILER_WARNING: [#def35]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c: scope_hint: In function ‘main’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:350:5: warning[-Wstringop-truncation]: ‘strncpy’ specified bound 4096 equals destination size
# 350 | strncpy (selfname, *argv, sizeof (selfname));
# | ^
# 348| if (!GetModuleFileName (NULL, selfname, sizeof (selfname)))
# 349| #endif
# 350|-> strncpy (selfname, *argv, sizeof (selfname));
# 351|
# 352| if (filespec_name (selfname)) {
Error: CPPCHECK_WARNING (CWE-401): [#def36]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:369: error[memleakOnRealloc]: Common realloc mistake: 'argv_fn' nulled but not freed upon failure
# 367| char *option = malloc (option_len + 1);
# 368|
# 369|-> argv_fn = realloc (argv_fn, sizeof (char *) * ++argc_fn);
# 370| memcpy (option, open_brace + 1, option_len);
# 371| argv_fn [argc_fn - 1] = option;
Error: CLANG_WARNING: [#def37]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:414:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'matches'
# 412|
# 413| if (!strcmp (long_option, "help")) { // --help
# 414|-> printf ("%s", help);
# 415| return 0;
# 416| }
Error: CPPCHECK_WARNING (CWE-401): [#def38]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:838: error[memleakOnRealloc]: Common realloc mistake: 'tag_items' nulled but not freed upon failure
# 836| int i = num_tag_items;
# 837|
# 838|-> tag_items = realloc (tag_items, ++num_tag_items * sizeof (*tag_items));
# 839| tag_items [i].item = malloc (cp - argcp + 1);
# 840| memcpy (tag_items [i].item, argcp, cp - argcp);
Error: CPPCHECK_WARNING (CWE-401): [#def39]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:893: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 891| }
# 892| else {
# 893|-> matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 894| matches [num_files] = malloc (strlen (argcp) + 10);
# 895| strcpy (matches [num_files], argcp);
Error: CLANG_WARNING: [#def40]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:1009:54: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 1007| // user may have specified on the command line
# 1008|
# 1009|-> if (!file && num_files && filespec_name (matches [0]) && *matches [0] != '-') {
# 1010| char *temp = malloc (strlen (matches [0]) + PATH_MAX);
# 1011|
Error: CLANG_WARNING: [#def41]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:1119:28: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 1117|
# 1118| for (file_index = 0; file_index < num_files; ++file_index) {
# 1119|-> char *infilename = matches [file_index];
# 1120|
# 1121| // If the single infile specification begins with a '@', then it
Error: CPPCHECK_WARNING (CWE-401): [#def42]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:1146: error[memleakOnRealloc]: Common realloc mistake: 'listbuff' nulled but not freed upon failure
# 1144| int bytes_read;
# 1145|
# 1146|-> listbuff = realloc (listbuff, listbytes + 1024);
# 1147| memset (listbuff + listbytes, 0, 1024);
# 1148| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
Error: CPPCHECK_WARNING (CWE-401): [#def43]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:1174: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 1172|
# 1173| fname [ci++] = '\0';
# 1174|-> matches = realloc (matches, ++num_files * sizeof (*matches));
# 1175|
# 1176| for (di = num_files - 1; di > file_index + 1; di--)
Error: CLANG_WARNING: [#def44]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:1247:9: warning[deadcode.DeadStores]: Value stored to 'c' is never read
# 1245|
# 1246| memset (listbuff, 0, sizeof (listbuff));
# 1247|-> c = (int) fread (listbuff, 1, sizeof (listbuff) - 1, list); // assign c only to suppress warning
# 1248|
# 1249| #if defined (_WIN32)
Error: CPPCHECK_WARNING (CWE-401): [#def45]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:2042: error[memleakOnRealloc]: Common realloc mistake: 'buffer' nulled but not freed upon failure
# 2040| while (DoReadFile (infile, buffer + wrapper_size, buffer_size - wrapper_size, &bcount) && bcount)
# 2041| if ((wrapper_size += bcount) == buffer_size)
# 2042|-> buffer = realloc (buffer, buffer_size += 65536);
# 2043|
# 2044| // if we got something and are storing wrapper, write it to the outfile file
Error: CLANG_WARNING: [#def46]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:2943:9: warning[unix.Malloc]: Potential leak of memory pointed to by 'out2filename_temp'
# 2941| }
# 2942| else if ((wv_file.file = fopen (use_tempfiles ? outfilename_temp : outfilename, "w+b")) == NULL) {
# 2943|-> error_line ("can't create file %s!", use_tempfiles ? outfilename_temp : outfilename);
# 2944| WavpackCloseFile (infile);
# 2945| WavpackCloseFile (outfile);
Error: CLANG_WARNING: [#def47]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:3477:13: warning[unix.Malloc]: Potential leak of memory pointed to by 'format_buffer'
# 3475|
# 3476| if (!WavpackPackSamples (outfile, sample_buffer, sample_count)) {
# 3477|-> error_line ("%s", WavpackGetErrorMessage (outfile));
# 3478| free (sample_buffer);
# 3479| return WAVPACK_HARD_ERROR;
Error: CLANG_WARNING: [#def48]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:3524:13: warning[unix.Malloc]: Potential leak of memory pointed to by 'dptr'
# 3522| fprintf (stderr, "^C\n");
# 3523| #else
# 3524|-> fprintf (stderr, "\n");
# 3525| #endif
# 3526| fflush (stderr);
Error: CPPCHECK_WARNING (CWE-457): [#def49]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:3585: error[uninitvar]: Uninitialized variable: temp
# 3583| }
# 3584|
# 3585|-> memcpy (start, temp, num_chans * bytes_per_sample);
# 3586| }
# 3587|
Error: CLANG_WARNING: [#def50]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:3764:17: warning[core.CallAndMessage]: 3rd function call argument is an uninitialized value
# 3762|
# 3763| for (i = 0; i < 16; ++i) {
# 3764|-> sprintf (md5_string1 + (i * 2), "%02x", md5_digest_source [i]);
# 3765| sprintf (md5_string2 + (i * 2), "%02x", md5_digest_result [i]);
# 3766| }
Error: CLANG_WARNING: [#def51]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wavpack.c:4332:13: warning[unix.Malloc]: Potential leak of memory pointed to by 'outp'
# 4330| if (len > 3 && (unsigned char) inp [0] == 0xEF && (unsigned char) inp [1] == 0xBB &&
# 4331| (unsigned char) inp [2] == 0xBF) {
# 4332|-> memmove (inp, inp + 3, len - 3);
# 4333| inp [len - 3] = 0;
# 4334| return;
Error: CPPCHECK_WARNING: [#def52]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def53]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:181:25: warning[unix.Malloc]: Potential leak of memory pointed to by 'matches'
# 179|
# 180| case 'V': case 'v':
# 181|-> printf ("wvgain %s\n", PACKAGE_VERSION);
# 182| printf ("libwavpack %s\n", WavpackGetLibraryVersionString ());
# 183| return 0;
Error: CPPCHECK_WARNING (CWE-401): [#def54]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:232: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 230| }
# 231| else {
# 232|-> matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 233| matches [num_files] = malloc (strlen (*argv) + 10);
# 234| strcpy (matches [num_files], *argv);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def55]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c: scope_hint: In function ‘main’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:233:33: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘matches’
# 231| else {
# 232| matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 233|-> matches [num_files] = malloc (strlen (*argv) + 10);
# 234| strcpy (matches [num_files], *argv);
# 235|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def56]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:234:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘malloc(strlen(*argv) + 10)’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 232| matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 233| matches [num_files] = malloc (strlen (*argv) + 10);
# 234|-> strcpy (matches [num_files], *argv);
# 235|
# 236| if (*(matches [num_files]) != '-' && *(matches [num_files]) != '@' &&
Error: CLANG_WARNING: [#def57]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:275:28: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 273|
# 274| for (file_index = 0; file_index < num_files; ++file_index) {
# 275|-> char *infilename = matches [file_index];
# 276|
# 277| // If the single infile specification begins with a '@', then it
Error: GCC_ANALYZER_WARNING (CWE-126): [#def58]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:288:40: warning[-Wanalyzer-out-of-bounds]: heap-based buffer over-read
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:288:40: note: read of 8 bytes from after the end of the region
# └──────────────────────────────────┘
# ^
# 286|
# 287| for (di = file_index; di < num_files - 1; di++)
# 288|-> matches [di] = matches [di + 1];
# 289|
# 290| file_index--;
Error: CPPCHECK_WARNING (CWE-401): [#def59]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:302: error[memleakOnRealloc]: Common realloc mistake: 'listbuff' nulled but not freed upon failure
# 300| int bytes_read;
# 301|
# 302|-> listbuff = realloc (listbuff, listbytes + 1024);
# 303| memset (listbuff + listbytes, 0, 1024);
# 304| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
Error: GCC_ANALYZER_WARNING (CWE-415): [#def60]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:302:28: warning[-Wanalyzer-double-free]: double-‘free’ of ‘listbuff’
# 300| int bytes_read;
# 301|
# 302|-> listbuff = realloc (listbuff, listbytes + 1024);
# 303| memset (listbuff + listbytes, 0, 1024);
# 304| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def61]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:303:17: warning[-Wanalyzer-null-argument]: use of NULL ‘listbuff’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 301|
# 302| listbuff = realloc (listbuff, listbytes + 1024);
# 303|-> memset (listbuff + listbytes, 0, 1024);
# 304| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
# 305|
Error: GCC_ANALYZER_WARNING (CWE-401): [#def62]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:306:20: warning[-Wanalyzer-malloc-leak]: leak of ‘listbuff’
# 304| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
# 305|
# 306|-> if (bytes_read < 1024)
# 307| break;
# 308| }
Error: GCC_ANALYZER_WARNING (CWE-416): [#def63]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:316:25: warning[-Wanalyzer-use-after-free]: use after ‘free’ of ‘cp’
# 314| cp = listbuff;
# 315|
# 316|-> while ((c = *cp++)) {
# 317|
# 318| while (c == '\n' || c == '\r')
Error: GCC_ANALYZER_WARNING (CWE-476): [#def64]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:326:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘fname’
# 324|
# 325| do
# 326|-> fname [ci++] = c;
# 327| while ((c = *cp++) != '\n' && c != '\r' && c && ci < PATH_MAX);
# 328|
Error: CPPCHECK_WARNING (CWE-401): [#def65]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:330: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 328|
# 329| fname [ci++] = '\0';
# 330|-> matches = realloc (matches, ++num_files * sizeof (*matches));
# 331|
# 332| for (di = num_files - 1; di > file_index + 1; di--)
Error: GCC_ANALYZER_WARNING (CWE-476): [#def66]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:335:44: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘matches’
# 333| matches [di] = matches [di - 1];
# 334|
# 335|-> matches [++file_index] = fname;
# 336| }
# 337|
Error: CLANG_WARNING: [#def67]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:494:49: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 492|
# 493| if (num_files > 1 && !quiet_mode) {
# 494|-> fprintf (stderr, "\n%s:\n", matches [file_index]);
# 495| fflush (stderr);
# 496| }
Error: CLANG_WARNING: [#def68]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:499:46: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 497|
# 498| if (show_mode)
# 499|-> result = show_file_info (matches [file_index], stdout);
# 500| else
# 501| result = update_file (matches [file_index], track_gains [file_index], track_peaks [file_index], album_gain, album_peak);
Error: CLANG_WARNING: [#def69]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:501:43: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 499| result = show_file_info (matches [file_index], stdout);
# 500| else
# 501|-> result = update_file (matches [file_index], track_gains [file_index], track_peaks [file_index], album_gain, album_peak);
# 502|
# 503| free (matches [file_index]);
Error: CLANG_WARNING: [#def70]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvgain.c:1378:41: warning[core.DivideZero]: Division by zero
# 1376| }
# 1377|
# 1378|-> return (int)(out_samples - samples) / num_channels;
# 1379| }
# 1380|
Error: CPPCHECK_WARNING: [#def71]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def72]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:292:25: warning[unix.Malloc]: Potential leak of memory pointed to by 'matches'
# 290|
# 291| case 'V': case 'v':
# 292|-> printf ("wvtag %s\n", PACKAGE_VERSION);
# 293| printf ("libwavpack %s\n", WavpackGetLibraryVersionString ());
# 294| return 0;
Error: CPPCHECK_WARNING (CWE-401): [#def73]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:337: error[memleakOnRealloc]: Common realloc mistake: 'tag_items' nulled but not freed upon failure
# 335| int i = num_tag_items;
# 336|
# 337|-> tag_items = realloc (tag_items, ++num_tag_items * sizeof (*tag_items));
# 338| tag_items [i].item = malloc (cp - *argv + 1);
# 339| memcpy (tag_items [i].item, *argv, cp - *argv);
Error: CPPCHECK_WARNING (CWE-401): [#def74]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:362: error[memleakOnRealloc]: Common realloc mistake: 'tag_items' nulled but not freed upon failure
# 360| }
# 361|
# 362|-> tag_items = realloc (tag_items, ++num_tag_items * sizeof (*tag_items));
# 363| tag_items [i].item = strdup (*argv);
# 364| tag_items [i].binary = 0;
Error: CPPCHECK_WARNING (CWE-401): [#def75]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:370: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 368| }
# 369| else {
# 370|-> matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 371| matches [num_files] = malloc (strlen (*argv) + 10);
# 372| strcpy (matches [num_files], *argv);
Error: CLANG_WARNING: [#def76]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:513:14: warning[deadcode.DeadStores]: Although the value stored to 'total_tag_size' is used in the enclosing expression, the value is never actually read from 'total_tag_size'
# 511| }
# 512|
# 513|-> if ((total_tag_size += tag_items [i].vsize) > 1048576 * (allow_huge_tags ? 16 : 1)) {
# 514| error_line ("total APEv2 tag size exceeds %d MB !", allow_huge_tags ? 16 : 1);
# 515| ++error_count;
Error: CPPCHECK_WARNING (CWE-401): [#def77]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:556: error[memleakOnRealloc]: Common realloc mistake: 'listbuff' nulled but not freed upon failure
# 554| int bytes_read;
# 555|
# 556|-> listbuff = realloc (listbuff, listbytes + 1024);
# 557| memset (listbuff + listbytes, 0, 1024);
# 558| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
Error: CPPCHECK_WARNING (CWE-401): [#def78]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:584: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 582|
# 583| fname [ci++] = '\0';
# 584|-> matches = realloc (matches, ++num_files * sizeof (*matches));
# 585|
# 586| for (di = num_files - 1; di > file_index + 1; di--)
Error: CPPCHECK_WARNING (CWE-401): [#def79]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:907: error[memleakOnRealloc]: Common realloc mistake: 'tag_extractions' nulled but not freed upon failure
# 905| static void add_tag_extraction_to_list (char *spec)
# 906| {
# 907|-> tag_extractions = realloc (tag_extractions, (num_tag_extractions + 1) * sizeof (*tag_extractions));
# 908| tag_extractions [num_tag_extractions] = malloc (strlen (spec) + 10);
# 909| strcpy (tag_extractions [num_tag_extractions], spec);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def80]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘add_tag_extraction_to_list’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:909:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘malloc(strlen(spec) + 10)’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 907| tag_extractions = realloc (tag_extractions, (num_tag_extractions + 1) * sizeof (*tag_extractions));
# 908| tag_extractions [num_tag_extractions] = malloc (strlen (spec) + 10);
# 909|-> strcpy (tag_extractions [num_tag_extractions], spec);
# 910| num_tag_extractions++;
# 911| }
Error: GCC_ANALYZER_WARNING (CWE-688): [#def81]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘do_tag_extractions’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:920:29: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘extraction_spec’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strchr’ must be non-null
# 918| for (i = 0; result == WAVPACK_NO_ERROR && i < num_tag_extractions; ++i) {
# 919| char *extraction_spec = strdup (tag_extractions [i]);
# 920|-> char *output_spec = strchr (extraction_spec, '=');
# 921| char tag_filename [256];
# 922|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def82]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:923:61: warning[-Wanalyzer-null-argument]: use of NULL ‘output_spec’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null
# 921| char tag_filename [256];
# 922|
# 923|-> if (output_spec && output_spec > extraction_spec && strlen (output_spec) > 1)
# 924| *output_spec++ = 0;
# 925|
Error: GCC_ANALYZER_WARNING (CWE-457): [#def83]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:927:65: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘tag_filename[0]’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:30: included_from: Included from here.
/usr/include/string.h:407:15: note: argument 1 of ‘strlen’ must be a pointer to a null-terminated string
# 925|
# 926| if (dump_tag_item_to_file (wpc, extraction_spec, NULL, tag_filename)) {
# 927|-> int max_length = (int) strlen (outfilename) + (int) strlen (tag_filename) + 10;
# 928| char *full_filename;
# 929|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def84]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:934:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘full_filename’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 932|
# 933| full_filename = malloc (max_length * 2 + 1);
# 934|-> strcpy (full_filename, outfilename);
# 935|
# 936| if (output_spec) {
Error: GCC_ANALYZER_WARNING (CWE-476): [#def85]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘dump_UTF8_string’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1316:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘p’
# 1314| while (*string) {
# 1315| if (*string != '\r')
# 1316|-> *p++ = *string;
# 1317|
# 1318| if (*string++ == '\n')
Error: GCC_ANALYZER_WARNING (CWE-476): [#def86]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1322:12: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘p’
# 1320| }
# 1321|
# 1322|-> *p = 0;
# 1323|
# 1324| #ifdef _WIN32
Error: GCC_ANALYZER_WARNING (CWE-688): [#def87]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘UTF8ToAnsi’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1374:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘temp’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 1372| iconv_t converter;
# 1373|
# 1374|-> memset(temp, 0, len);
# 1375| old_locale = setlocale (LC_CTYPE, "");
# 1376| converter = iconv_open ("", "UTF-8");
Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1378:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open("", "UTF-8")’
# 1376| converter = iconv_open ("", "UTF-8");
# 1377|
# 1378|-> if (converter != (iconv_t) -1) {
# 1379| err = iconv (converter, &inp, &insize, &outp, &outsize);
# 1380| iconv_close (converter);
Error: CLANG_WARNING: [#def89]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1525:13: warning[unix.Malloc]: Potential leak of memory pointed to by 'outp'
# 1523| if (len > 3 && (unsigned char) inp [0] == 0xEF && (unsigned char) inp [1] == 0xBB &&
# 1524| (unsigned char) inp [2] == 0xBF) {
# 1525|-> memmove (inp, inp + 3, len - 3);
# 1526| inp [len - 3] = 0;
# 1527| return;
Error: GCC_ANALYZER_WARNING (CWE-401): [#def90]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1527:13: warning[-Wanalyzer-malloc-leak]: leak of ‘converter’
# 1525| memmove (inp, inp + 3, len - 3);
# 1526| inp [len - 3] = 0;
# 1527|-> return;
# 1528| }
# 1529|
Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘TextToUTF8’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1527:13: warning[-Wanalyzer-malloc-leak]: leak of ‘temp’
# 1525| memmove (inp, inp + 3, len - 3);
# 1526| inp [len - 3] = 0;
# 1527|-> return;
# 1528| }
# 1529|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def92]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1530:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘temp’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 1528| }
# 1529|
# 1530|-> memset(temp, 0, len);
# 1531| old_locale = setlocale (LC_CTYPE, "");
# 1532|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def93]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c: scope_hint: In function ‘wild_fopen’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvtag.c:1642:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘matchname’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 1640| else {
# 1641| matchname = malloc (strlen (globbuf.gl_pathv [i]) + 10);
# 1642|-> strcpy (matchname, globbuf.gl_pathv [i]);
# 1643| }
# 1644| }
Error: CPPCHECK_WARNING: [#def94]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: COMPILER_WARNING: [#def95]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘main’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:288:5: warning[-Wstringop-truncation]: ‘strncpy’ specified bound 4096 equals destination size
# 288 | strncpy (selfname, *argv, sizeof (selfname));
# | ^
# 286| if (!GetModuleFileName (NULL, selfname, sizeof (selfname)))
# 287| #endif
# 288|-> strncpy (selfname, *argv, sizeof (selfname));
# 289|
# 290| if (filespec_name (selfname)) {
Error: CPPCHECK_WARNING (CWE-401): [#def96]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:307: error[memleakOnRealloc]: Common realloc mistake: 'argv_fn' nulled but not freed upon failure
# 305| char *option = malloc (option_len + 1);
# 306|
# 307|-> argv_fn = realloc (argv_fn, sizeof (char *) * ++argc_fn);
# 308| memcpy (option, open_brace + 1, option_len);
# 309| argv_fn [argc_fn - 1] = option;
Error: CLANG_WARNING: [#def97]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:350:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'argv_fn'
# 348|
# 349| if (!strcmp (long_option, "help")) { // --help
# 350|-> printf ("%s", help);
# 351| return 0;
# 352| }
Error: CLANG_WARNING: [#def98]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:350:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'matches'
# 348|
# 349| if (!strcmp (long_option, "help")) { // --help
# 350|-> printf ("%s", help);
# 351| return 0;
# 352| }
Error: CPPCHECK_WARNING (CWE-401): [#def99]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:600: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 598| }
# 599| else {
# 600|-> matches = realloc (matches, (num_files + 1) * sizeof (*matches));
# 601| matches [num_files] = malloc (strlen (argcp) + 10);
# 602| strcpy (matches [num_files], argcp);
Error: CLANG_WARNING: [#def100]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:704:28: warning[core.NullDereference]: Array access (from variable 'matches') results in a null pointer dereference
# 702|
# 703| for (file_index = 0; file_index < num_files; ++file_index) {
# 704|-> char *infilename = matches [file_index];
# 705|
# 706| // If the single infile specification begins with a '@', then it
Error: CLANG_WARNING: [#def101]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:723:17: warning[unix.Malloc]: Potential leak of memory pointed to by 'matches'
# 721|
# 722| if (list == NULL) {
# 723|-> error_line ("file %s not found!", infilename+1);
# 724| free (infilename);
# 725| return 1;
Error: CPPCHECK_WARNING (CWE-401): [#def102]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:731: error[memleakOnRealloc]: Common realloc mistake: 'listbuff' nulled but not freed upon failure
# 729| int bytes_read;
# 730|
# 731|-> listbuff = realloc (listbuff, listbytes + 1024);
# 732| memset (listbuff + listbytes, 0, 1024);
# 733| listbytes += bytes_read = (int) fread (listbuff + listbytes, 1, 1024, list);
Error: CPPCHECK_WARNING (CWE-401): [#def103]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:759: error[memleakOnRealloc]: Common realloc mistake: 'matches' nulled but not freed upon failure
# 757|
# 758| fname [ci++] = '\0';
# 759|-> matches = realloc (matches, ++num_files * sizeof (*matches));
# 760|
# 761| for (di = num_files - 1; di > file_index + 1; di--)
Error: CLANG_WARNING: [#def104]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:832:9: warning[deadcode.DeadStores]: Value stored to 'c' is never read
# 830|
# 831| memset (listbuff, 0, sizeof (listbuff));
# 832|-> c = (int) fread (listbuff, 1, sizeof (listbuff) - 1, list); // assign c only to suppress warning
# 833|
# 834| #if defined (_WIN32)
Error: CLANG_WARNING: [#def105]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:1889:13: warning[core.CallAndMessage]: 3rd function call argument is an uninitialized value
# 1887|
# 1888| for (i = 0; i < 16; ++i)
# 1889|-> sprintf (md5_string2 + (i * 2), "%02x", md5_unpacked [i]);
# 1890|
# 1891| error_line ("unpacked md5: %s", md5_string2);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def106]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘unpack_audio’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2111:39: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_channel_order’
# 2109|
# 2110| for (i = 0; i < num_channels; ++i)
# 2111|-> new_channel_order [i] = i;
# 2112|
# 2113| WavpackGetChannelLayout (wpc, new_channel_order);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def107]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘unpack_dsd_audio’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2258:39: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘new_channel_order’
# 2256|
# 2257| for (i = 0; i < num_channels; ++i)
# 2258|-> new_channel_order [i] = i;
# 2259|
# 2260| WavpackGetChannelLayout (wpc, new_channel_order);
Error: CPPCHECK_WARNING (CWE-401): [#def108]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2365: error[memleakOnRealloc]: Common realloc mistake: 'tag_extractions' nulled but not freed upon failure
# 2363| static void add_tag_extraction_to_list (char *spec)
# 2364| {
# 2365|-> tag_extractions = realloc (tag_extractions, (num_tag_extractions + 1) * sizeof (*tag_extractions));
# 2366| tag_extractions [num_tag_extractions] = malloc (strlen (spec) + 10);
# 2367| strcpy (tag_extractions [num_tag_extractions], spec);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def109]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘add_tag_extraction_to_list’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2367:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘malloc(strlen(spec) + 10)’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 2365| tag_extractions = realloc (tag_extractions, (num_tag_extractions + 1) * sizeof (*tag_extractions));
# 2366| tag_extractions [num_tag_extractions] = malloc (strlen (spec) + 10);
# 2367|-> strcpy (tag_extractions [num_tag_extractions], spec);
# 2368| num_tag_extractions++;
# 2369| }
Error: GCC_ANALYZER_WARNING (CWE-688): [#def110]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘do_tag_extractions’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2378:29: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘extraction_spec’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strchr’ must be non-null
# 2376| for (i = 0; result == WAVPACK_NO_ERROR && i < num_tag_extractions; ++i) {
# 2377| char *extraction_spec = strdup (tag_extractions [i]);
# 2378|-> char *output_spec = strchr (extraction_spec, '=');
# 2379| char tag_filename [256];
# 2380|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def111]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2381:61: warning[-Wanalyzer-null-argument]: use of NULL ‘output_spec’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strlen’ must be non-null
# 2379| char tag_filename [256];
# 2380|
# 2381|-> if (output_spec && output_spec > extraction_spec && strlen (output_spec) > 1)
# 2382| *output_spec++ = 0;
# 2383|
Error: GCC_ANALYZER_WARNING (CWE-457): [#def112]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2385:65: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘tag_filename[0]’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:41: included_from: Included from here.
/usr/include/string.h:407:15: note: argument 1 of ‘strlen’ must be a pointer to a null-terminated string
# 2383|
# 2384| if (dump_tag_item_to_file (wpc, extraction_spec, NULL, tag_filename)) {
# 2385|-> int max_length = (int) strlen (outfilename) + (int) strlen (tag_filename) + 10;
# 2386| char *full_filename;
# 2387|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def113]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2392:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘full_filename’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_strcpy’ must be non-null
# 2390|
# 2391| full_filename = malloc (max_length * 2 + 1);
# 2392|-> strcpy (full_filename, outfilename);
# 2393|
# 2394| if (output_spec) {
Error: GCC_ANALYZER_WARNING (CWE-476): [#def114]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘unreorder_channels’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2703:25: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘temp’
# 2701|
# 2702| for (chan = 0; chan < num_chans; ++chan)
# 2703|-> temp [chan] = data [order[chan]];
# 2704|
# 2705| memcpy (data, temp, num_chans * sizeof (*data));
Error: GCC_ANALYZER_WARNING (CWE-457): [#def115]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:2705:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘temp’
# 2703| temp [chan] = data [order[chan]];
# 2704|
# 2705|-> memcpy (data, temp, num_chans * sizeof (*data));
# 2706| data += num_chans;
# 2707| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def116]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘dump_UTF8_string’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:3202:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘p’
# 3200| while (*string) {
# 3201| if (*string != '\r')
# 3202|-> *p++ = *string;
# 3203|
# 3204| if (*string++ == '\n')
Error: GCC_ANALYZER_WARNING (CWE-476): [#def117]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:3208:12: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘p’
# 3206| }
# 3207|
# 3208|-> *p = 0;
# 3209|
# 3210| #ifdef _WIN32
Error: GCC_ANALYZER_WARNING (CWE-688): [#def118]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c: scope_hint: In function ‘UTF8ToAnsi’
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:3369:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘temp’ where non-null expected
<built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null
# 3367| iconv_t converter;
# 3368|
# 3369|-> memset(temp, 0, len);
# 3370| old_locale = setlocale (LC_CTYPE, "");
# 3371| converter = iconv_open ("", "UTF-8");
Error: GCC_ANALYZER_WARNING (CWE-401): [#def119]
wavpack-5.6.0-build/wavpack-5.6.0/cli/wvunpack.c:3373:8: warning[-Wanalyzer-malloc-leak]: leak of ‘iconv_open("", "UTF-8")’
# 3371| converter = iconv_open ("", "UTF-8");
# 3372|
# 3373|-> if (converter != (iconv_t) -1) {
# 3374| err = iconv (converter, &inp, &insize, &outp, &outsize);
# 3375| iconv_close (converter);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def120]
wavpack-5.6.0-build/wavpack-5.6.0/src/wavpack_local.h:14: included_from: Included from here.
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:22: included_from: Included from here.
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c: scope_hint: In function 'write_metadata_block'
wavpack-5.6.0-build/wavpack-5.6.0/include/wavpack.h:100:29: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'block_buff'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
# 98| int64_t tmp = (value); \
# 99| if (tmp < 0) \
# 100|-> (hdr).total_samples = (uint32_t) -1; \
# 101| else { \
# 102| tmp += (tmp / 0xffffffffLL); \
Error: GCC_ANALYZER_WARNING (CWE-476): [#def121]
wavpack-5.6.0-build/wavpack-5.6.0/include/wavpack.h:103:29: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'block_buff'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1277:9: note: in expansion of macro 'SET_TOTAL_SAMPLES'
# 101| else { \
# 102| tmp += (tmp / 0xffffffffLL); \
# 103|-> (hdr).total_samples = (uint32_t) tmp; \
# 104| (hdr).total_samples_u8 = \
# 105| (unsigned char) (tmp >> 32); \
Error: CPPCHECK_WARNING: [#def122]
wavpack-5.6.0-build/wavpack-5.6.0/src/common_utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def123]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def124]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:97: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 95|
# 96| left -= apply_weight (dpp->weight_A, sam_A);
# 97|-> update_weight (dpp->weight_A, dpp->delta, sam_A, left);
# 98| dpp->sum_A += dpp->weight_A;
# 99| out_samples [0] = left;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def125]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c: scope_hint: In function 'decorr_mono_pass'
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:99:29: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'out_samples'
# 97| update_weight (dpp->weight_A, dpp->delta, sam_A, left);
# 98| dpp->sum_A += dpp->weight_A;
# 99|-> out_samples [0] = left;
# 100| in_samples += dir;
# 101| out_samples += dir;
Error: CPPCHECK_WARNING (CWE-758): [#def126]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:114: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 112|
# 113| left -= apply_weight (dpp->weight_A, sam_A);
# 114|-> update_weight (dpp->weight_A, dpp->delta, sam_A, left);
# 115| dpp->sum_A += dpp->weight_A;
# 116| out_samples [0] = left;
Error: CLANG_WARNING: [#def127]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:437:5: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
# 435|
# 436| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 437|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 4);
# 438|
# 439| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: CLANG_WARNING: [#def128]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:442:22: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
# 440| decorr_mono_pass (info.sampleptrs [i], info.sampleptrs [i + 1], wps->wphdr.block_samples, info.dps + i, 1);
# 441|
# 442|-> info.best_bits = LOG2BUFFER (info.sampleptrs [info.nterms], wps->wphdr.block_samples, 0) * 1;
# 443| info.best_bits += log2overhead (info.dps [0].term, i);
# 444| memcpy (info.sampleptrs [info.nterms + 1], info.sampleptrs [i], wps->wphdr.block_samples * 4);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def129]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c: scope_hint: In function 'execute_mono'
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:610:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'malloc((long unsigned int)buf_size)' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 608|
# 609| while (1) {
# 610|-> memcpy (temp_buffer [0], noisy_buffer ? noisy_buffer : samples, buf_size);
# 611| CLEARA (save_decorr_passes);
# 612|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def130]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra1.c:645:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'best_buffer' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 643|
# 644| if (size < best_size) {
# 645|-> memcpy (best_buffer, temp_buffer [j&1], buf_size);
# 646| memcpy (wps->decorr_passes, save_decorr_passes, sizeof (struct decorr_pass) * MAX_NTERMS);
# 647| wps->num_terms = nterms;
Error: CPPCHECK_WARNING: [#def131]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def132]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:104: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 102| dpp->samples_A [0] = dpp->samples_A [1];
# 103| out_samples [0] = tmp = (dpp->samples_A [1] = in_samples [0]) - apply_weight (dpp->weight_A, sam);
# 104|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 105| dpp->sum_A += dpp->weight_A;
# 106|
Error: CPPCHECK_WARNING (CWE-758): [#def133]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:110: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 108| dpp->samples_B [0] = dpp->samples_B [1];
# 109| out_samples [1] = tmp = (dpp->samples_B [1] = in_samples [1]) - apply_weight (dpp->weight_B, sam);
# 110|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 111| dpp->sum_B += dpp->weight_B;
# 112|
Error: CPPCHECK_WARNING (CWE-758): [#def134]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:126: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 124| dpp->samples_A [1] = dpp->samples_A [0];
# 125| out_samples [0] = tmp = (dpp->samples_A [0] = in_samples [0]) - apply_weight (dpp->weight_A, sam);
# 126|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 127| dpp->sum_A += dpp->weight_A;
# 128|
Error: CPPCHECK_WARNING (CWE-758): [#def135]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:132: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 130| dpp->samples_B [1] = dpp->samples_B [0];
# 131| out_samples [1] = tmp = (dpp->samples_B [0] = in_samples [1]) - apply_weight (dpp->weight_B, sam);
# 132|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 133| dpp->sum_B += dpp->weight_B;
# 134|
Error: CPPCHECK_WARNING (CWE-758): [#def136]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:148: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 146| dpp->samples_A [1] = dpp->samples_A [0];
# 147| out_samples [0] = tmp = (dpp->samples_A [0] = in_samples [0]) - apply_weight (dpp->weight_A, sam);
# 148|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 149| dpp->sum_A += dpp->weight_A;
# 150|
Error: CPPCHECK_WARNING (CWE-758): [#def137]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:154: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 152| dpp->samples_B [1] = dpp->samples_B [0];
# 153| out_samples [1] = tmp = (dpp->samples_B [0] = in_samples [1]) - apply_weight (dpp->weight_B, sam);
# 154|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 155| dpp->sum_B += dpp->weight_B;
# 156|
Error: CPPCHECK_WARNING (CWE-758): [#def138]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:171: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 169| sam = dpp->samples_A [m];
# 170| out_samples [0] = tmp = (dpp->samples_A [k] = in_samples [0]) - apply_weight (dpp->weight_A, sam);
# 171|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 172| dpp->sum_A += dpp->weight_A;
# 173|
Error: CPPCHECK_WARNING (CWE-758): [#def139]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:176: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 174| sam = dpp->samples_B [m];
# 175| out_samples [1] = tmp = (dpp->samples_B [k] = in_samples [1]) - apply_weight (dpp->weight_B, sam);
# 176|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 177| dpp->sum_B += dpp->weight_B;
# 178|
Error: CPPCHECK_WARNING (CWE-758): [#def140]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:208: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 206| sam_A = dpp->samples_A [0];
# 207| out_samples [0] = tmp = (sam_B = in_samples [0]) - apply_weight (dpp->weight_A, sam_A);
# 208|-> update_weight_clip (dpp->weight_A, dpp->delta, sam_A, tmp);
# 209| dpp->sum_A += dpp->weight_A;
# 210|
Error: CPPCHECK_WARNING (CWE-758): [#def141]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:212: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 210|
# 211| out_samples [1] = tmp = (dpp->samples_A [0] = in_samples [1]) - apply_weight (dpp->weight_B, sam_B);
# 212|-> update_weight_clip (dpp->weight_B, dpp->delta, sam_B, tmp);
# 213| dpp->sum_B += dpp->weight_B;
# 214|
Error: CPPCHECK_WARNING (CWE-758): [#def142]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:227: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 225| sam_B = dpp->samples_B [0];
# 226| out_samples [1] = tmp = (sam_A = in_samples [1]) - apply_weight (dpp->weight_B, sam_B);
# 227|-> update_weight_clip (dpp->weight_B, dpp->delta, sam_B, tmp);
# 228| dpp->sum_B += dpp->weight_B;
# 229|
Error: CPPCHECK_WARNING (CWE-758): [#def143]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:231: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 229|
# 230| out_samples [0] = tmp = (dpp->samples_B [0] = in_samples [0]) - apply_weight (dpp->weight_A, sam_A);
# 231|-> update_weight_clip (dpp->weight_A, dpp->delta, sam_A, tmp);
# 232| dpp->sum_A += dpp->weight_A;
# 233|
Error: CPPCHECK_WARNING (CWE-758): [#def144]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:249: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 247| dpp->samples_A [0] = tmp = in_samples [1];
# 248| out_samples [1] = tmp -= apply_weight (dpp->weight_B, sam_B);
# 249|-> update_weight_clip (dpp->weight_B, dpp->delta, sam_B, tmp);
# 250| dpp->sum_B += dpp->weight_B;
# 251|
Error: CPPCHECK_WARNING (CWE-758): [#def145]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:254: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 252| dpp->samples_B [0] = tmp = in_samples [0];
# 253| out_samples [0] = tmp -= apply_weight (dpp->weight_A, sam_A);
# 254|-> update_weight_clip (dpp->weight_A, dpp->delta, sam_A, tmp);
# 255| dpp->sum_A += dpp->weight_A;
# 256|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def146]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c: scope_hint: In function 'analyze_stereo'
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:601:5: warning[-Wanalyzer-null-argument]: use of NULL 'samples' where non-null expected
<built-in>: note: argument 2 of '__builtin_memcpy' must be non-null
# 599|
# 600| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 601|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 8);
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: GCC_ANALYZER_WARNING (CWE-688): [#def147]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:601:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'info.sampleptrs[0]' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 599|
# 600| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 601|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 8);
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: CLANG_WARNING: [#def148]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:601:5: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
# 599|
# 600| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 601|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 8);
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: CLANG_WARNING: [#def149]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:601:5: warning[core.NonNullParamChecker]: Null pointer passed to 2nd parameter expecting 'nonnull'
# 599|
# 600| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 601|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 8);
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: GCC_ANALYZER_WARNING (CWE-457): [#def150]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:601:29: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'info.sampleptrs[0]'
# 599|
# 600| memcpy (info.dps, wps->decorr_passes, sizeof (info.dps));
# 601|-> memcpy (info.sampleptrs [0], samples, wps->wphdr.block_samples * 8);
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
Error: GCC_ANALYZER_WARNING (CWE-457): [#def151]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:604:9: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'info.sampleptrs[<unknown>]'
# 602|
# 603| for (i = 0; i < info.nterms && info.dps [i].term; ++i)
# 604|-> decorr_stereo_pass (info.sampleptrs [i], info.sampleptrs [i + 1], wps->wphdr.block_samples, info.dps + i, 1);
# 605|
# 606| info.best_bits = LOG2BUFFER (info.sampleptrs [info.nterms], wps->wphdr.block_samples * 2, 0) * 1;
Error: CLANG_WARNING: [#def152]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:606:22: warning[core.CallAndMessage]: 1st function call argument is an uninitialized value
# 604| decorr_stereo_pass (info.sampleptrs [i], info.sampleptrs [i + 1], wps->wphdr.block_samples, info.dps + i, 1);
# 605|
# 606|-> info.best_bits = LOG2BUFFER (info.sampleptrs [info.nterms], wps->wphdr.block_samples * 2, 0) * 1;
# 607| info.best_bits += log2overhead (info.dps [0].term, i);
# 608| memcpy (info.sampleptrs [info.nterms + 1], info.sampleptrs [i], wps->wphdr.block_samples * 8);
Error: GCC_ANALYZER_WARNING (CWE-688): [#def153]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c: scope_hint: In function 'execute_stereo'
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:806:21: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'js_buffer' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 804|
# 805| lptr = js_buffer = malloc (buf_size);
# 806|-> memcpy (js_buffer, noisy_buffer ? noisy_buffer : samples, buf_size);
# 807|
# 808| while (cnt--) {
Error: GCC_ANALYZER_WARNING (CWE-688): [#def154]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:817:17: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'malloc((long unsigned int)buf_size)' where non-null expected
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:19: included_from: Included from here.
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:747:5: note: in expansion of macro 'CLEARA'
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 815| }
# 816| else
# 817|-> memcpy (temp_buffer [0], noisy_buffer ? noisy_buffer : samples, buf_size);
# 818|
# 819| CLEARA (save_decorr_passes);
Error: CLANG_WARNING: [#def155]
wavpack-5.6.0-build/wavpack-5.6.0/src/extra2.c:875:17: warning[core.NonNullParamChecker]: Null pointer passed to 2nd parameter expecting 'nonnull'
# 873|
# 874| if (do_samples)
# 875|-> memcpy (samples, js_buffer, buf_size);
# 876| }
# 877| else if (noisy_buffer) {
Error: GCC_ANALYZER_WARNING (CWE-688): [#def156]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_filename.c: scope_hint: In function 'WavpackOpenFileInput'
wavpack-5.6.0-build/wavpack-5.6.0/src/open_filename.c:330:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'in2filename' where non-null expected
<built-in>: note: argument 1 of '__builtin_strcpy' must be non-null
# 328| char *in2filename = malloc (strlen (infilename) + 10);
# 329|
# 330|-> strcpy (in2filename, infilename);
# 331| strcat (in2filename, "c");
# 332| wvc_id = fopen_func (in2filename, "rb");
Error: GCC_ANALYZER_WARNING (CWE-476): [#def157]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_legacy.c: scope_hint: In function 'WavpackOpenFileInputEx'
wavpack-5.6.0-build/wavpack-5.6.0/src/open_legacy.c:103:26: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'trans_wv'
# 101| if (wv_id) {
# 102| trans_wv = (WavpackReaderTranslator *)malloc (sizeof (WavpackReaderTranslator));
# 103|-> trans_wv->reader = reader;
# 104| trans_wv->id = wv_id;
# 105| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def158]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_legacy.c:109:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'trans_wvc'
# 107| if (wvc_id) {
# 108| trans_wvc = (WavpackReaderTranslator *)malloc (sizeof (WavpackReaderTranslator));
# 109|-> trans_wvc->reader = reader;
# 110| trans_wvc->id = wvc_id;
# 111| }
Error: CPPCHECK_WARNING: [#def159]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def160]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c: scope_hint: In function 'WavpackOpenRawDecoder'
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:151:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'raw_wv' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 149|
# 150| raw_wv = malloc (sizeof (WavpackRawContext));
# 151|-> memset (raw_wv, 0, sizeof (WavpackRawContext));
# 152|
# 153| if (corr_data && corr_size) {
Error: GCC_ANALYZER_WARNING (CWE-688): [#def161]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:155:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'raw_wvc' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 153| if (corr_data && corr_size) {
# 154| raw_wvc = malloc (sizeof (WavpackRawContext));
# 155|-> memset (raw_wvc, 0, sizeof (WavpackRawContext));
# 156| }
# 157|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def162]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:205:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wphdr'
# 203| memset (wphdr, 0, sizeof (WavpackHeader));
# 204| memcpy (wphdr->ckID, "wvpk", 4);
# 205|-> wphdr->ckSize = sizeof (WavpackHeader) - 8 + block_size;
# 206| SET_TOTAL_SAMPLES (*wphdr, block_samples);
# 207| wphdr->block_samples = block_samples;
Error: GCC_ANALYZER_WARNING (CWE-401): [#def163]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:214:34: warning[-Wanalyzer-malloc-leak]: leak of '<unknown>'
# 212|
# 213| raw_wv->num_segments += 2;
# 214|-> raw_wv->segments = realloc (raw_wv->segments, sizeof (RawSegment) * raw_wv->num_segments);
# 215| raw_wv->segments [msi].dptr = raw_wv->segments [msi].sptr = (unsigned char *) wphdr;
# 216| raw_wv->segments [msi].eptr = raw_wv->segments [msi].dptr + sizeof (WavpackHeader);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def164]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:215:75: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
# 213| raw_wv->num_segments += 2;
# 214| raw_wv->segments = realloc (raw_wv->segments, sizeof (RawSegment) * raw_wv->num_segments);
# 215|-> raw_wv->segments [msi].dptr = raw_wv->segments [msi].sptr = (unsigned char *) wphdr;
# 216| raw_wv->segments [msi].eptr = raw_wv->segments [msi].dptr + sizeof (WavpackHeader);
# 217| raw_wv->segments [msi++].free_required = 1;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def165]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:252:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wphdr'
# 250| memset (wphdr, 0, sizeof (WavpackHeader));
# 251| memcpy (wphdr->ckID, "wvpk", 4);
# 252|-> wphdr->ckSize = sizeof (WavpackHeader) - 8 + block_size;
# 253| SET_TOTAL_SAMPLES (*wphdr, block_samples);
# 254| wphdr->block_samples = block_samples;
Error: GCC_ANALYZER_WARNING (CWE-416): [#def166]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:260:28: warning[-Wanalyzer-use-after-free]: use after 'free' of 'raw_wvc'
# 258| WavpackLittleEndianToNative (wphdr, WavpackHeaderFormat);
# 259|
# 260|-> raw_wvc->num_segments += 2;
# 261| raw_wvc->segments = realloc (raw_wvc->segments, sizeof (RawSegment) * raw_wvc->num_segments);
# 262| raw_wvc->segments [csi].dptr = raw_wvc->segments [csi].sptr = (unsigned char *) wphdr;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def167]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:262:81: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
# 260| raw_wvc->num_segments += 2;
# 261| raw_wvc->segments = realloc (raw_wvc->segments, sizeof (RawSegment) * raw_wvc->num_segments);
# 262|-> raw_wvc->segments [csi].dptr = raw_wvc->segments [csi].sptr = (unsigned char *) wphdr;
# 263| raw_wvc->segments [csi].eptr = raw_wvc->segments [csi].dptr + sizeof (WavpackHeader);
# 264| raw_wvc->segments [csi++].free_required = 1;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def168]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:285:34: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'raw_wv'
# 283| raw_wv = malloc (sizeof (WavpackRawContext));
# 284| memset (raw_wv, 0, sizeof (WavpackRawContext));
# 285|-> raw_wv->num_segments = 1;
# 286| raw_wv->segments = malloc (sizeof (RawSegment) * raw_wv->num_segments);
# 287| raw_wv->segments [0].dptr = raw_wv->segments [0].sptr = main_data;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def169]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:287:67: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'malloc(32)'
# 285| raw_wv->num_segments = 1;
# 286| raw_wv->segments = malloc (sizeof (RawSegment) * raw_wv->num_segments);
# 287|-> raw_wv->segments [0].dptr = raw_wv->segments [0].sptr = main_data;
# 288| raw_wv->segments [0].eptr = raw_wv->segments [0].dptr + main_size;
# 289| raw_wv->segments [0].free_required = 0;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def170]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:295:35: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'raw_wvc'
# 293| raw_wvc = malloc (sizeof (WavpackRawContext));
# 294| memset (raw_wvc, 0, sizeof (WavpackRawContext));
# 295|-> raw_wvc->num_segments = 1;
# 296| raw_wvc->segments = malloc (sizeof (RawSegment) * raw_wvc->num_segments);
# 297| raw_wvc->segments [0].dptr = raw_wvc->segments [0].sptr = corr_data;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def171]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_raw.c:297:69: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'malloc(32)'
# 295| raw_wvc->num_segments = 1;
# 296| raw_wvc->segments = malloc (sizeof (RawSegment) * raw_wvc->num_segments);
# 297|-> raw_wvc->segments [0].dptr = raw_wvc->segments [0].sptr = corr_data;
# 298| raw_wvc->segments [0].eptr = raw_wvc->segments [0].dptr + corr_size;
# 299| raw_wvc->segments [0].free_required = 0;
Error: CPPCHECK_WARNING: [#def172]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def173]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_utils.c: scope_hint: In function 'read_channel_identities'
wavpack-5.6.0-build/wavpack-5.6.0/src/open_utils.c:523:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL '*wpc.channel_identities' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 521| if (!wpc->channel_identities) {
# 522| wpc->channel_identities = (unsigned char *)malloc (wpmd->byte_length + 1);
# 523|-> memcpy (wpc->channel_identities, wpmd->data, wpmd->byte_length);
# 524| wpc->channel_identities [wpmd->byte_length] = 0;
# 525| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def174]
wavpack-5.6.0-build/wavpack-5.6.0/src/open_utils.c: scope_hint: In function 'read_sample_rate'
wavpack-5.6.0-build/wavpack-5.6.0/src/open_utils.c:639:45: warning[-Wanalyzer-null-dereference]: dereference of NULL 'byteptr'
# 637|
# 638| if (bytecnt == 3 || bytecnt == 4) {
# 639|-> wpc->config.sample_rate = (int32_t) *byteptr++;
# 640| wpc->config.sample_rate |= (int32_t) *byteptr++ << 8;
# 641| wpc->config.sample_rate |= (int32_t) *byteptr++ << 16;
Error: CPPCHECK_WARNING: [#def175]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-476): [#def176]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_decorr_terms'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:113:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'byteptr'
# 111|
# 112| for (dpp = wps->decorr_passes; tcount--; ++dpp)
# 113|-> *byteptr++ = ((dpp->term + 5) & 0x1f) | ((dpp->delta << 5) & 0xe0);
# 114|
# 115| wpmd->byte_length = (int32_t)(byteptr - (char *) wpmd->data);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def177]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_int32_info'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:284:16: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 282| byteptr = wpmd->data = malloc (4);
# 283| wpmd->id = ID_INT32_INFO;
# 284|-> *byteptr++ = wps->int32_sent_bits;
# 285| *byteptr++ = wps->int32_zeros;
# 286| *byteptr++ = wps->int32_ones;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def178]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_float_info'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:297:16: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 295| byteptr = wpmd->data = malloc (4);
# 296| wpmd->id = ID_FLOAT_INFO;
# 297|-> *byteptr++ = wps->float_flags;
# 298| *byteptr++ = wps->float_shift;
# 299| *byteptr++ = wps->float_max_exp;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def179]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_channel_info'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:317:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 315|
# 316| if (wpc->num_streams > OLD_MAX_STREAMS) { // if > 8 streams, use 6 or 7 bytes (breaks old decoders
# 317|-> *byteptr++ = wpc->config.num_channels - 1; // that could only handle 8 streams) and allow (in theory)
# 318| *byteptr++ = wpc->num_streams - 1; // up to 4096 channels
# 319| *byteptr++ = (((wpc->num_streams - 1) >> 4) & 0xf0) | (((wpc->config.num_channels - 1) >> 8) & 0xf);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def180]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:328:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 326| }
# 327| else { // otherwise use only 1 to 5 bytes
# 328|-> *byteptr++ = wpc->config.num_channels;
# 329|
# 330| while (mask) {
Error: GCC_ANALYZER_WARNING (CWE-476): [#def181]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_config_info'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:364:16: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 362| byteptr = wpmd->data = malloc (8);
# 363| wpmd->id = ID_CONFIG_BLOCK;
# 364|-> *byteptr++ = (char) (wpc->config.flags >> 8);
# 365| *byteptr++ = (char) (wpc->config.flags >> 16);
# 366| *byteptr++ = (char) (wpc->config.flags >> 24);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def182]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_new_config_info'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:391:20: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 389|
# 390| if (wpc->file_format || (wpc->config.qmode & 0xff) || wpc->channel_layout) {
# 391|-> *byteptr++ = (char) wpc->file_format;
# 392| *byteptr++ = (char) wpc->config.qmode;
# 393|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def183]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'write_sample_rate'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:434:16: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'wpmd.data'
# 432| byteptr = wpmd->data = malloc (4);
# 433| wpmd->id = ID_SAMPLE_RATE;
# 434|-> *byteptr++ = (char) (wpc->config.sample_rate);
# 435| *byteptr++ = (char) (wpc->config.sample_rate >> 8);
# 436| *byteptr++ = (char) (wpc->config.sample_rate >> 16);
Error: CLANG_WARNING: [#def184]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:551:14: warning[deadcode.DeadStores]: Although the value stored to 'mag' is used in the enclosing expression, the value is never actually read from 'mag'
# 549| }
# 550|
# 551|-> if ((mag -= shift) < 0)
# 552| flags &= ~MAG_MASK;
# 553| else
Error: GCC_ANALYZER_WARNING (CWE-688): [#def185]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'pack_block'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:573:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'orig_data' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 571| if ((!(flags & HYBRID_FLAG) || wpc->wvc_flag) && !(wpc->config.flags & CONFIG_SKIP_WVX)) {
# 572| orig_data = malloc (sizeof (f32) * ((flags & MONO_DATA) ? sample_count : sample_count * 2));
# 573|-> memcpy (orig_data, buffer, sizeof (f32) * ((flags & MONO_DATA) ? sample_count : sample_count * 2));
# 574|
# 575| if (flags & FLOAT_DATA) { // if lossless float data come here
Error: GCC_ANALYZER_WARNING (CWE-688): [#def186]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c: scope_hint: In function 'pack_samples'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1062:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'saved_buffer' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 1060| if (repack_possible && !(flags & HYBRID_FLAG)) {
# 1061| saved_buffer = malloc (sample_count * sizeof (int32_t) * (flags & MONO_DATA ? 1 : 2));
# 1062|-> memcpy (saved_buffer, buffer, sample_count * sizeof (int32_t) * (flags & MONO_DATA ? 1 : 2));
# 1063| }
# 1064|
Error: CPPCHECK_WARNING (CWE-758): [#def187]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1207: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1205| while (--dpp >= wps->decorr_passes) {
# 1206| if (dpp->term > MAX_TERM) {
# 1207|-> update_weight (dpp->weight_A, dpp->delta, dpp->samples_A [2], code);
# 1208| dpp->samples_A [1] = dpp->samples_A [0];
# 1209| dpp->samples_A [0] = (code += dpp->aweight_A);
Error: CPPCHECK_WARNING (CWE-758): [#def188]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1214: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1212| int32_t sam = dpp->samples_A [m];
# 1213|
# 1214|-> update_weight (dpp->weight_A, dpp->delta, sam, code);
# 1215| dpp->samples_A [(m + dpp->term) & (MAX_TERM - 1)] = (code += dpp->aweight_A);
# 1216| }
Error: CPPCHECK_WARNING (CWE-758): [#def189]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1317: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1315| while (--dpp >= wps->decorr_passes)
# 1316| if (dpp->term > MAX_TERM) {
# 1317|-> update_weight (dpp->weight_A, dpp->delta, dpp->samples_A [2], left);
# 1318| update_weight (dpp->weight_B, dpp->delta, dpp->samples_B [2], right);
# 1319|
Error: CPPCHECK_WARNING (CWE-758): [#def190]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1318: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1316| if (dpp->term > MAX_TERM) {
# 1317| update_weight (dpp->weight_A, dpp->delta, dpp->samples_A [2], left);
# 1318|-> update_weight (dpp->weight_B, dpp->delta, dpp->samples_B [2], right);
# 1319|
# 1320| dpp->samples_A [1] = dpp->samples_A [0];
Error: CPPCHECK_WARNING (CWE-758): [#def191]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1329: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1327| int k = (m + dpp->term) & (MAX_TERM - 1);
# 1328|
# 1329|-> update_weight (dpp->weight_A, dpp->delta, dpp->samples_A [m], left);
# 1330| dpp->samples_A [k] = (left += dpp->aweight_A);
# 1331|
Error: CPPCHECK_WARNING (CWE-758): [#def192]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1332: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1330| dpp->samples_A [k] = (left += dpp->aweight_A);
# 1331|
# 1332|-> update_weight (dpp->weight_B, dpp->delta, dpp->samples_B [m], right);
# 1333| dpp->samples_B [k] = (right += dpp->aweight_B);
# 1334| }
Error: CPPCHECK_WARNING (CWE-758): [#def193]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1345: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1343| }
# 1344|
# 1345|-> update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], left);
# 1346| update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], right);
# 1347| dpp->samples_B [0] = (left += dpp->aweight_A);
Error: CPPCHECK_WARNING (CWE-758): [#def194]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack.c:1346: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1344|
# 1345| update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], left);
# 1346|-> update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], right);
# 1347| dpp->samples_B [0] = (left += dpp->aweight_A);
# 1348| dpp->samples_A [0] = (right += dpp->aweight_B);
Error: CPPCHECK_WARNING: [#def195]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def196]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:39: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 37| sam = (3 * bptr [1] - bptr [2]) >> 1;
# 38| temp = *bptr-- - apply_weight (ap->weight_A, sam);
# 39|-> update_weight (ap->weight_A, 2, sam, temp);
# 40| }
# 41| else
Error: CPPCHECK_WARNING (CWE-758): [#def197]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:45: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 43| sam = (3 * bptr [2] - bptr [4]) >> 1;
# 44| temp = *bptr-- - apply_weight (ap->weight_B, sam);
# 45|-> update_weight (ap->weight_B, 2, sam, temp);
# 46| sam = (3 * bptr [2] - bptr [4]) >> 1;
# 47| temp = *bptr-- - apply_weight (ap->weight_A, sam);
Error: CPPCHECK_WARNING (CWE-758): [#def198]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:48: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 46| sam = (3 * bptr [2] - bptr [4]) >> 1;
# 47| temp = *bptr-- - apply_weight (ap->weight_A, sam);
# 48|-> update_weight (ap->weight_A, 2, sam, temp);
# 49| }
# 50| }
Error: CPPCHECK_WARNING (CWE-758): [#def199]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:61: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 59| sam = (3 * ap->samples_A [0] - ap->samples_A [1]) >> 1;
# 60| temp = *bptr - apply_weight (ap->weight_A, sam);
# 61|-> update_weight (ap->weight_A, 2, sam, temp);
# 62| ap->samples_A [1] = ap->samples_A [0];
# 63| ap->samples_A [0] = *bptr++;
Error: CPPCHECK_WARNING (CWE-758): [#def200]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:70: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 68| sam = (3 * ap->samples_A [0] - ap->samples_A [1]) >> 1;
# 69| temp = *bptr - apply_weight (ap->weight_A, sam);
# 70|-> update_weight (ap->weight_A, 2, sam, temp);
# 71| ap->samples_A [1] = ap->samples_A [0];
# 72| ap->samples_A [0] = *bptr++;
Error: CPPCHECK_WARNING (CWE-758): [#def201]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dns.c:76: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 74| sam = (3 * ap->samples_B [0] - ap->samples_B [1]) >> 1;
# 75| temp = *bptr - apply_weight (ap->weight_B, sam);
# 76|-> update_weight (ap->weight_B, 2, sam, temp);
# 77| ap->samples_B [1] = ap->samples_B [0];
# 78| ap->samples_B [0] = *bptr++;
Error: CPPCHECK_WARNING: [#def202]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def203]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c: scope_hint: In function 'calculate_probabilities'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:218:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'probs' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 216|
# 217| if (max_hits == 0) {
# 218|-> memset (probs, 0, sizeof (*probs) * 256);
# 219| memset (prob_sums, 0, sizeof (*prob_sums) * 256);
# 220| return;
Error: GCC_ANALYZER_WARNING (CWE-688): [#def204]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:219:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'prob_sums' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 217| if (max_hits == 0) {
# 218| memset (probs, 0, sizeof (*probs) * 256);
# 219|-> memset (prob_sums, 0, sizeof (*prob_sums) * 256);
# 220| return;
# 221| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def205]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:250:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'prob_sums'
# 248| value = 0;
# 249|
# 250|-> prob_sums [i] = sum_values += value;
# 251| probs [i] = value;
# 252| }
Error: GCC_ANALYZER_WARNING (CWE-476): [#def206]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:251:23: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'probs'
# 249|
# 250| prob_sums [i] = sum_values += value;
# 251|-> probs [i] = value;
# 252| }
# 253|
Error: GCC_ANALYZER_WARNING (CWE-688): [#def207]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c: scope_hint: In function 'encode_buffer_fast'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:324:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'histogram' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 322| history_bins = 1 << history_bits;
# 323| histogram = malloc (sizeof (*histogram) * history_bins);
# 324|-> memset (histogram, 0, sizeof (*histogram) * history_bins);
# 325| probabilities = malloc (sizeof (*probabilities) * history_bins);
# 326| summed_probabilities = malloc (sizeof (*summed_probabilities) * history_bins);
Error: GCC_ANALYZER_WARNING (CWE-457): [#def208]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:346:65: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*<unknown>[255]'
# 344| for (p0 = 0; p0 < history_bins; p0++) {
# 345| calculate_probabilities (histogram [p0], probabilities [p0], summed_probabilities [p0]);
# 346|-> total_summed_probabilities += summed_probabilities [p0] [255];
# 347| }
# 348|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def209]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c: scope_hint: In function 'init_ptable'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:470:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'table'
# 468|
# 469| for (i = 0; i < PTABLE_BINS/2; ++i) {
# 470|-> table [i] = value;
# 471| table [PTABLE_BINS-1-i] = 0x100ffff - value;
# 472|
Error: CPPCHECK_WARNING (CWE-758): [#def210]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:601: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 599|
# 600| sp [0].value += sp [0].filter6 * 8;
# 601|-> sp [0].factor += (((sp [0].value ^ sp [0].filter0) >> 31) | 1) & ((sp [0].value ^ (sp [0].value - (sp [0].filter6 * 16))) >> 31);
# 602| sp [0].filter1 += ((sp [0].filter0 & VALUE_ONE) - sp [0].filter1) >> 6;
# 603| sp [0].filter2 += ((sp [0].filter0 & VALUE_ONE) - sp [0].filter2) >> 4;
Error: CPPCHECK_WARNING (CWE-758): [#def211]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_dsd.c:635: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 633|
# 634| sp [1].value += sp [1].filter6 * 8;
# 635|-> sp [1].factor += (((sp [1].value ^ sp [1].filter0) >> 31) | 1) & ((sp [1].value ^ (sp [1].value - (sp [1].filter6 * 16))) >> 31);
# 636| sp [1].filter1 += ((sp [1].filter0 & VALUE_ONE) - sp [1].filter1) >> 6;
# 637| sp [1].filter2 += ((sp [1].filter0 & VALUE_ONE) - sp [1].filter2) >> 4;
Error: CPPCHECK_WARNING: [#def212]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def213]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c:48: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 46| // max magnitude that does not have an exponent of 255 (reserved for +/-inf and NaN).
# 47| for (dp = values, count = num_values; count--; dp++) {
# 48|-> crc = crc * 27 + get_mantissa (*dp) * 9 + get_exponent (*dp) * 3 + get_sign (*dp);
# 49|
# 50| if (get_exponent (*dp) < 255 && get_magnitude (*dp) > max_mag)
Error: CPPCHECK_WARNING (CWE-758): [#def214]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c:105: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 103| if (get_exponent (*dp) || get_mantissa (*dp))
# 104| ++false_zeros;
# 105|-> else if (get_sign (*dp))
# 106| ++neg_zeros;
# 107| #ifdef DISPLAY_DIAGNOSTICS
Error: CPPCHECK_WARNING (CWE-758): [#def215]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c:130: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 128|
# 129| ordata |= value;
# 130|-> * (int32_t *) dp = (get_sign (*dp)) ? -value : value;
# 131| }
# 132|
Error: CPPCHECK_WARNING (CWE-758): [#def216]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c:250: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 248| }
# 249|
# 250|-> putbit (get_sign (*dp), &wps->wvxbits);
# 251| }
# 252| else {
Error: CPPCHECK_WARNING (CWE-758): [#def217]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_floats.c:256: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 254|
# 255| if (wps->float_flags & FLOAT_NEG_ZEROS)
# 256|-> putbit (get_sign (*dp), &wps->wvxbits);
# 257| }
# 258| }
Error: CPPCHECK_WARNING: [#def218]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def219]
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c: scope_hint: In function 'WavpackUpdateNumSamples'
wavpack-5.6.0-build/wavpack-5.6.0/src/pack_utils.c:1064:13: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 1062|
# 1063| if (wrapper_size == create_riff_header (wpc, WavpackGetSampleIndex64 (wpc), riff_header))
# 1064|-> memcpy (WavpackGetWrapperLocation (first_block, NULL), riff_header, wrapper_size);
# 1065| }
# 1066|
Error: CPPCHECK_WARNING: [#def220]
wavpack-5.6.0-build/wavpack-5.6.0/src/read_words.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def221]
wavpack-5.6.0-build/wavpack-5.6.0/src/tag_utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def222]
wavpack-5.6.0-build/wavpack-5.6.0/src/tag_utils.c:471:13: warning[deadcode.DeadStores]: Value stored to 'result' is never read
# 469| m_tag->ape_tag_hdr.flags |= APE_TAG_THIS_IS_HEADER;
# 470| WavpackNativeToLittleEndian (&m_tag->ape_tag_hdr, APE_Tag_Hdr_Format);
# 471|-> result = wpc->blockout (wpc->wv_out, &m_tag->ape_tag_hdr, sizeof (m_tag->ape_tag_hdr));
# 472| WavpackLittleEndianToNative (&m_tag->ape_tag_hdr, APE_Tag_Hdr_Format);
# 473| }
Error: CLANG_WARNING: [#def223]
wavpack-5.6.0-build/wavpack-5.6.0/src/tag_utils.c:476:13: warning[deadcode.DeadStores]: Value stored to 'result' is never read
# 474|
# 475| if (m_tag->ape_tag_hdr.length > sizeof (m_tag->ape_tag_hdr))
# 476|-> result = wpc->blockout (wpc->wv_out, m_tag->ape_tag_data, m_tag->ape_tag_hdr.length - sizeof (m_tag->ape_tag_hdr));
# 477|
# 478| m_tag->ape_tag_hdr.flags &= ~APE_TAG_THIS_IS_HEADER; // this is NOT header
Error: CLANG_WARNING: [#def224]
wavpack-5.6.0-build/wavpack-5.6.0/src/tag_utils.c:538:13: warning[deadcode.DeadStores]: Value stored to 'result' is never read
# 536| m_tag->ape_tag_hdr.flags |= APE_TAG_THIS_IS_HEADER;
# 537| WavpackNativeToLittleEndian (&m_tag->ape_tag_hdr, APE_Tag_Hdr_Format);
# 538|-> result = (wpc->reader->write_bytes (wpc->wv_in, &m_tag->ape_tag_hdr, sizeof (m_tag->ape_tag_hdr)) == sizeof (m_tag->ape_tag_hdr));
# 539| WavpackLittleEndianToNative (&m_tag->ape_tag_hdr, APE_Tag_Hdr_Format);
# 540| }
Error: CLANG_WARNING: [#def225]
wavpack-5.6.0-build/wavpack-5.6.0/src/tag_utils.c:542:9: warning[deadcode.DeadStores]: Value stored to 'result' is never read
# 540| }
# 541|
# 542|-> result = (wpc->reader->write_bytes (wpc->wv_in, m_tag->ape_tag_data, m_tag->ape_tag_hdr.length - sizeof (m_tag->ape_tag_hdr)) == sizeof (m_tag->ape_tag_hdr));
# 543| m_tag->ape_tag_hdr.flags &= ~APE_TAG_THIS_IS_HEADER; // this is NOT header
# 544| WavpackNativeToLittleEndian (&m_tag->ape_tag_hdr, APE_Tag_Hdr_Format);
Error: CPPCHECK_WARNING: [#def226]
wavpack-5.6.0-build/wavpack-5.6.0/src/tags.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING: [#def227]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def228]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:251: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 249|
# 250| temp = apply_weight (dpp->weight_A, sam) + read_word;
# 251|-> update_weight (dpp->weight_A, dpp->delta, sam, read_word);
# 252| dpp->samples_A [k] = read_word = temp;
# 253| }
Error: CPPCHECK_WARNING (CWE-758): [#def229]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:367: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 365| right2 = apply_weight (dpp->weight_B, sam_B) + right;
# 366|
# 367|-> update_weight (dpp->weight_A, dpp->delta, sam_A, left);
# 368| update_weight (dpp->weight_B, dpp->delta, sam_B, right);
# 369|
Error: CPPCHECK_WARNING (CWE-758): [#def230]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:368: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 366|
# 367| update_weight (dpp->weight_A, dpp->delta, sam_A, left);
# 368|-> update_weight (dpp->weight_B, dpp->delta, sam_B, right);
# 369|
# 370| dpp->samples_A [k] = left = left2;
Error: CPPCHECK_WARNING (CWE-758): [#def231]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:375: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 373| else if (dpp->term == -1) {
# 374| left2 = left + apply_weight (dpp->weight_A, dpp->samples_A [0]);
# 375|-> update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], left);
# 376| left = left2;
# 377| right2 = right + apply_weight (dpp->weight_B, left2);
Error: CPPCHECK_WARNING (CWE-758): [#def232]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:378: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 376| left = left2;
# 377| right2 = right + apply_weight (dpp->weight_B, left2);
# 378|-> update_weight_clip (dpp->weight_B, dpp->delta, left2, right);
# 379| dpp->samples_A [0] = right = right2;
# 380| }
Error: CPPCHECK_WARNING (CWE-758): [#def233]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:383: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 381| else {
# 382| right2 = right + apply_weight (dpp->weight_B, dpp->samples_B [0]);
# 383|-> update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], right);
# 384| right = right2;
# 385|
Error: CPPCHECK_WARNING (CWE-758): [#def234]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:392: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 390|
# 391| left2 = left + apply_weight (dpp->weight_A, right2);
# 392|-> update_weight_clip (dpp->weight_A, dpp->delta, right2, left);
# 393| dpp->samples_B [0] = left = left2;
# 394| }
Error: CPPCHECK_WARNING (CWE-758): [#def235]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:526: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 524| dpp->samples_A [1] = dpp->samples_A [0];
# 525| dpp->samples_A [0] = apply_weight (weight_A, sam_A) + bptr [0];
# 526|-> update_weight (weight_A, delta, sam_A, bptr [0]);
# 527| bptr [0] = dpp->samples_A [0];
# 528| }
Error: CPPCHECK_WARNING (CWE-758): [#def236]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:537: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 535| dpp->samples_A [1] = dpp->samples_A [0];
# 536| dpp->samples_A [0] = apply_weight (weight_A, sam_A) + bptr [0];
# 537|-> update_weight (weight_A, delta, sam_A, bptr [0]);
# 538| bptr [0] = dpp->samples_A [0];
# 539| }
Error: CPPCHECK_WARNING (CWE-758): [#def237]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:547: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 545| sam_A = dpp->samples_A [m];
# 546| dpp->samples_A [k] = apply_weight (weight_A, sam_A) + bptr [0];
# 547|-> update_weight (weight_A, delta, sam_A, bptr [0]);
# 548| bptr [0] = dpp->samples_A [k];
# 549| m = (m + 1) & (MAX_TERM - 1);
Error: CPPCHECK_WARNING (CWE-758): [#def238]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:588: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 586| dpp->samples_A [1] = dpp->samples_A [0];
# 587| bptr [0] = dpp->samples_A [0] = apply_weight (dpp->weight_A, sam) + (tmp = bptr [0]);
# 588|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 589|
# 590| sam = 2 * dpp->samples_B [0] - dpp->samples_B [1];
Error: CPPCHECK_WARNING (CWE-758): [#def239]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:593: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 591| dpp->samples_B [1] = dpp->samples_B [0];
# 592| bptr [1] = dpp->samples_B [0] = apply_weight (dpp->weight_B, sam) + (tmp = bptr [1]);
# 593|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 594| }
# 595|
Error: CPPCHECK_WARNING (CWE-758): [#def240]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:605: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 603| dpp->samples_A [1] = dpp->samples_A [0];
# 604| bptr [0] = dpp->samples_A [0] = apply_weight (dpp->weight_A, sam) + (tmp = bptr [0]);
# 605|-> update_weight (dpp->weight_A, dpp->delta, sam, tmp);
# 606|
# 607| sam = dpp->samples_B [0] + ((dpp->samples_B [0] - dpp->samples_B [1]) >> 1);
Error: CPPCHECK_WARNING (CWE-758): [#def241]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:610: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 608| dpp->samples_B [1] = dpp->samples_B [0];
# 609| bptr [1] = dpp->samples_B [0] = apply_weight (dpp->weight_B, sam) + (tmp = bptr [1]);
# 610|-> update_weight (dpp->weight_B, dpp->delta, sam, tmp);
# 611| }
# 612|
Error: CPPCHECK_WARNING (CWE-758): [#def242]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:621: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 619| sam = dpp->samples_A [m];
# 620| dpp->samples_A [k] = apply_weight (dpp->weight_A, sam) + bptr [0];
# 621|-> update_weight (dpp->weight_A, dpp->delta, sam, bptr [0]);
# 622| bptr [0] = dpp->samples_A [k];
# 623|
Error: CPPCHECK_WARNING (CWE-758): [#def243]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:626: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 624| sam = dpp->samples_B [m];
# 625| dpp->samples_B [k] = apply_weight (dpp->weight_B, sam) + bptr [1];
# 626|-> update_weight (dpp->weight_B, dpp->delta, sam, bptr [1]);
# 627| bptr [1] = dpp->samples_B [k];
# 628|
Error: CPPCHECK_WARNING (CWE-758): [#def244]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:640: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 638|
# 639| sam = bptr [0] + apply_weight (dpp->weight_A, dpp->samples_A [0]);
# 640|-> update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], bptr [0]);
# 641| bptr [0] = sam;
# 642| dpp->samples_A [0] = bptr [1] + apply_weight (dpp->weight_B, sam);
Error: CPPCHECK_WARNING (CWE-758): [#def245]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:643: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 641| bptr [0] = sam;
# 642| dpp->samples_A [0] = bptr [1] + apply_weight (dpp->weight_B, sam);
# 643|-> update_weight_clip (dpp->weight_B, dpp->delta, sam, bptr [1]);
# 644| bptr [1] = dpp->samples_A [0];
# 645| }
Error: CPPCHECK_WARNING (CWE-758): [#def246]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:654: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 652|
# 653| sam = bptr [1] + apply_weight (dpp->weight_B, dpp->samples_B [0]);
# 654|-> update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], bptr [1]);
# 655| bptr [1] = sam;
# 656| dpp->samples_B [0] = bptr [0] + apply_weight (dpp->weight_A, sam);
Error: CPPCHECK_WARNING (CWE-758): [#def247]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:657: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 655| bptr [1] = sam;
# 656| dpp->samples_B [0] = bptr [0] + apply_weight (dpp->weight_A, sam);
# 657|-> update_weight_clip (dpp->weight_A, dpp->delta, sam, bptr [0]);
# 658| bptr [0] = dpp->samples_B [0];
# 659| }
Error: CPPCHECK_WARNING (CWE-758): [#def248]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:668: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 666|
# 667| sam_A = bptr [0] + apply_weight (dpp->weight_A, dpp->samples_A [0]);
# 668|-> update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], bptr [0]);
# 669| sam_B = bptr [1] + apply_weight (dpp->weight_B, dpp->samples_B [0]);
# 670| update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], bptr [1]);
Error: CPPCHECK_WARNING (CWE-758): [#def249]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:670: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 668| update_weight_clip (dpp->weight_A, dpp->delta, dpp->samples_A [0], bptr [0]);
# 669| sam_B = bptr [1] + apply_weight (dpp->weight_B, dpp->samples_B [0]);
# 670|-> update_weight_clip (dpp->weight_B, dpp->delta, dpp->samples_B [0], bptr [1]);
# 671| bptr [0] = dpp->samples_B [0] = sam_A;
# 672| bptr [1] = dpp->samples_A [0] = sam_B;
Error: CLANG_WARNING: [#def250]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack.c:711:21: warning[core.BitwiseShift]: Left shift overflows the capacity of 'uint32_t'
# 709| while (count--) {
# 710| // if (sent_bits) {
# 711|-> getbits (&data, sent_bits, &wps->wvxbits);
# 712| *dptr = ((uint32_t) *dptr << sent_bits) | (data & mask);
# 713| // }
Error: CPPCHECK_WARNING: [#def251]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: GCC_ANALYZER_WARNING (CWE-688): [#def252]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c: scope_hint: In function 'init_dsd_block_fast'
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:150:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL '*wps.dsd.value_lookup' where non-null expected
<built-in>: note: argument 1 of '__builtin_memset' must be non-null
# 148| lb_ptr = wps->dsd.lookup_buffer = (unsigned char *)malloc (wps->dsd.history_bins * MAX_BYTES_PER_BIN);
# 149| wps->dsd.value_lookup = (unsigned char **)malloc (sizeof (*wps->dsd.value_lookup) * wps->dsd.history_bins);
# 150|-> memset (wps->dsd.value_lookup, 0, sizeof (*wps->dsd.value_lookup) * wps->dsd.history_bins);
# 151| wps->dsd.summed_probabilities = (uint16_t (*)[256])malloc (sizeof (*wps->dsd.summed_probabilities) * wps->dsd.history_bins);
# 152| wps->dsd.probabilities = (unsigned char (*)[256])malloc (sizeof (*wps->dsd.probabilities) * wps->dsd.history_bins);
Error: GCC_ANALYZER_WARNING (CWE-476): [#def253]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:167:31: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'outptr'
# 165|
# 166| while (outptr < outend && zcount--)
# 167|-> *outptr++ = 0;
# 168| }
# 169| else if (code)
Error: GCC_ANALYZER_WARNING (CWE-476): [#def254]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:170:27: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'outptr'
# 168| }
# 169| else if (code)
# 170|-> *outptr++ = code;
# 171| else
# 172| break;
Error: GCC_ANALYZER_WARNING (CWE-688): [#def255]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:179:9: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL '*wps.dsd.probabilities' where non-null expected
<built-in>: note: argument 1 of '__builtin_memcpy' must be non-null
# 177| }
# 178| else if (wps->dsd.endptr - wps->dsd.byteptr > (int) sizeof (*wps->dsd.probabilities) * wps->dsd.history_bins) {
# 179|-> memcpy (wps->dsd.probabilities, wps->dsd.byteptr, sizeof (*wps->dsd.probabilities) * wps->dsd.history_bins);
# 180| wps->dsd.byteptr += sizeof (*wps->dsd.probabilities) * wps->dsd.history_bins;
# 181| }
Error: CLANG_WARNING: [#def256]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:189:65: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined
# 187|
# 188| for (sum_values = i = 0; i < 256; ++i)
# 189|-> wps->dsd.summed_probabilities [bi] [i] = sum_values += wps->dsd.probabilities [bi] [i];
# 190|
# 191| if (sum_values) {
Error: GCC_ANALYZER_WARNING (CWE-457): [#def257]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:189:96: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*<unknown>[i]'
# 187|
# 188| for (sum_values = i = 0; i < 256; ++i)
# 189|-> wps->dsd.summed_probabilities [bi] [i] = sum_values += wps->dsd.probabilities [bi] [i];
# 190|
# 191| if (sum_values) {
Error: GCC_ANALYZER_WARNING (CWE-476): [#def258]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c: scope_hint: In function 'init_ptable'
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:299:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'table'
# 297|
# 298| for (i = 0; i < PTABLE_BINS/2; ++i) {
# 299|-> table [i] = value;
# 300| table [PTABLE_BINS-1-i] = 0x100ffff - value;
# 301|
Error: CPPCHECK_WARNING (CWE-758): [#def259]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:391: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 389| sp [0].value += sp [0].filter6 * 8;
# 390| sp [0].byte = (sp [0].byte << 1) | (sp [0].filter0 & 1);
# 391|-> sp [0].factor += (((sp [0].value ^ sp [0].filter0) >> 31) | 1) & ((sp [0].value ^ (sp [0].value - (sp [0].filter6 * 16))) >> 31);
# 392| sp [0].filter1 += ((sp [0].filter0 & VALUE_ONE) - sp [0].filter1) >> 6;
# 393| sp [0].filter2 += ((sp [0].filter0 & VALUE_ONE) - sp [0].filter2) >> 4;
Error: CPPCHECK_WARNING (CWE-758): [#def260]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_dsd.c:426: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 424| sp [1].value += sp [1].filter6 * 8;
# 425| sp [1].byte = (sp [1].byte << 1) | (sp [1].filter0 & 1);
# 426|-> sp [1].factor += (((sp [1].value ^ sp [1].filter0) >> 31) | 1) & ((sp [1].value ^ (sp [1].value - (sp [1].filter6 * 16))) >> 31);
# 427| sp [1].filter1 += ((sp [1].filter0 & VALUE_ONE) - sp [1].filter1) >> 6;
# 428| sp [1].filter2 += ((sp [1].filter0 & VALUE_ONE) - sp [1].filter2) >> 4;
Error: CPPCHECK_WARNING: [#def261]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_floats.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CPPCHECK_WARNING (CWE-758): [#def262]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_floats.c:91: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 89| }
# 90|
# 91|-> crc = crc * 27 + get_mantissa (outval) * 9 + get_exponent (outval) * 3 + get_sign (outval);
# 92| * (f32 *) values++ = outval;
# 93| }
Error: CPPCHECK_WARNING: [#def263]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_seek.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def264]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_seek.c:67:10: warning[core.NullDereference]: Dereference of null pointer
# 65| #endif
# 66|
# 67|-> if (!wps->wphdr.block_samples || !(wps->wphdr.flags & INITIAL_BLOCK) || sample < GET_BLOCK_INDEX (wps->wphdr) ||
# 68| sample >= GET_BLOCK_INDEX (wps->wphdr) + wps->wphdr.block_samples) {
# 69|
Error: COMPILER_WARNING: [#def265]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_seek.c: scope_hint: In function 'find_header'
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_seek.c:306:59: warning[-Wuse-after-free]: pointer 'ep_95' used after 'free'
# 306 | return reader->get_pos (id) - (ep - sp + 4);
# | ~~~^~~~
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_seek.c:305:25: note: call to 'free' here
# 305 | free (buffer);
# | ^~~~~~~~~~~~~
# 304| if (wphdr->block_samples && (wphdr->flags & INITIAL_BLOCK)) {
# 305| free (buffer);
# 306|-> return reader->get_pos (id) - (ep - sp + 4);
# 307| }
# 308|
Error: CPPCHECK_WARNING: [#def266]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def267]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:57:14: warning[core.NullDereference]: Dereference of null pointer
# 55| // to free up the streams and read the next block
# 56|
# 57|-> if (!wps->wphdr.block_samples || !(wps->wphdr.flags & INITIAL_BLOCK) ||
# 58| wps->sample_index >= GET_BLOCK_INDEX (wps->wphdr) + wps->wphdr.block_samples) {
# 59|
Error: GCC_ANALYZER_WARNING (CWE-476): [#def268]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c: scope_hint: In function 'WavpackUnpackSamples'
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:58:16: warning[-Wanalyzer-null-dereference]: dereference of NULL 'wps'
# 56|
# 57| if (!wps->wphdr.block_samples || !(wps->wphdr.flags & INITIAL_BLOCK) ||
# 58|-> wps->sample_index >= GET_BLOCK_INDEX (wps->wphdr) + wps->wphdr.block_samples) {
# 59|
# 60| int64_t nexthdrpos;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def269]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:76:32: warning[-Wanalyzer-null-dereference]: dereference of NULL 'wps'
# 74| // allocate the memory for the entire raw block and read it in
# 75|
# 76|-> wps->blockbuff = (unsigned char *)malloc (wps->wphdr.ckSize + 8);
# 77|
# 78| if (!wps->blockbuff)
Error: CLANG_WARNING: [#def270]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:327:21: warning[core.NullDereference]: Dereference of null pointer
# 325|
# 326| if (offset != num_channels) {
# 327|-> if (wps->wphdr.flags & DSD_FLAG) {
# 328| int samples_to_zero = samples_to_unpack * num_channels;
# 329| int32_t *zptr = bptr;
Error: GCC_ANALYZER_WARNING (CWE-476): [#def271]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:343:17: warning[-Wanalyzer-null-dereference]: dereference of NULL '0'
# 341| // and free the temp buffer
# 342|
# 343|-> wps = wpc->streams [wpc->current_stream = 0];
# 344| free (temp_buffer);
# 345| }
Error: CLANG_WARNING: [#def272]
wavpack-5.6.0-build/wavpack-5.6.0/src/unpack_utils.c:343:19: warning[core.NullDereference]: Array access (via field 'streams') results in a null pointer dereference
# 341| // and free the temp buffer
# 342|
# 343|-> wps = wpc->streams [wpc->current_stream = 0];
# 344| free (temp_buffer);
# 345| }
Error: CPPCHECK_WARNING: [#def273]
wavpack-5.6.0-build/wavpack-5.6.0/src/write_words.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.
Error: CLANG_WARNING: [#def274]
wavpack-5.6.0-build/wavpack-5.6.0/src/write_words.c:431:59: warning[core.BitwiseShift]: Right operand is negative in left shift
# 429| wps->w.pend_data |= ((code + extras) >> 1) << wps->w.pend_count;
# 430| wps->w.pend_count += bitcount - 1;
# 431|-> wps->w.pend_data |= ((code + extras) & 1) << wps->w.pend_count++;
# 432| }
# 433| }
Error: CLANG_WARNING: [#def275]
wavpack-5.6.0-build/wavpack-5.6.0/src/write_words.c:435:45: warning[core.BitwiseShift]: Right operand is negative in left shift
# 433| }
# 434|
# 435|-> wps->w.pend_data |= ((int32_t) sign << wps->w.pend_count++);
# 436|
# 437| if (!wps->w.holding_zero)
Error: CLANG_WARNING: [#def276]
wavpack-5.6.0-build/wavpack-5.6.0/src/write_words.c:604:32: warning[deadcode.DeadStores]: Although the value stored to 'chan' is used in the enclosing expression, the value is never actually read from 'chan'
# 602| while (num_samples--) {
# 603|
# 604|-> value = labs (samples [chan = 0]);
# 605|
# 606| if (flags & HYBRID_BITRATE) {
Error: CLANG_WARNING: [#def277]
wavpack-5.6.0-build/wavpack-5.6.0/src/write_words.c:635:36: warning[deadcode.DeadStores]: Although the value stored to 'chan' is used in the enclosing expression, the value is never actually read from 'chan'
# 633|
# 634| if (!(flags & MONO_DATA)) {
# 635|-> value = labs (samples [chan = 1]);
# 636| c++;
# 637|
Scan Properties
analyzer-version-clang | 18.1.7 |
analyzer-version-cppcheck | 2.14.2 |
analyzer-version-gcc | 14.1.1 |
analyzer-version-gcc-analyzer | 14.1.1 |
analyzer-version-shellcheck | 0.10.0 |
enabled-plugins | clang, cppcheck, gcc, shellcheck |
exit-code | 0 |
host | ip-172-16-1-176.us-west-2.compute.internal |
mock-config | fedora-41-x86_64 |
project-name | wavpack-5.6.0-6.fc40 |
store-results-to | /tmp/tmp6cil0mvr/wavpack-5.6.0-6.fc40.tar.xz |
time-created | 2024-07-03 18:22:39 |
time-finished | 2024-07-03 18:24:38 |
tool | csmock |
tool-args | '/usr/bin/csmock' '-r' 'fedora-41-x86_64' '-t' 'cppcheck,gcc,clang,shellcheck' '-o' '/tmp/tmp6cil0mvr/wavpack-5.6.0-6.fc40.tar.xz' '--gcc-analyze' '/tmp/tmp6cil0mvr/wavpack-5.6.0-6.fc40.src.rpm' |
tool-version | csmock-3.5.3-1.el9 |