Task #1243 - schroedinger-1.0.11-30.fc41/scan-results.err
back to task #1243download
Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroarith.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroasync-pthread.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobufferlist.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.c: scope_hint: In function 'schro_dump' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.c:106:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'dump_files[type]' where non-null expected schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.c:7: included_from: Included from here. /usr/include/stdio.h:372:12: note: argument 1 of 'vfprintf' must be non-null # 104| # 105| va_start (varargs, format); # 106|-> vfprintf (dump_files[type], format, varargs); # 107| va_end (varargs); # 108| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodecoder.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodomain.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.c: scope_hint: In function 'schro_encoder_init_rc_buffer' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.c:220:32: warning[-Wxor-used-as-pow]: result of '2^24' is 26; did you mean '1 << 24' (16777216)? # 220 | encoder->I_frame_alloc = 2 ^ 24; # | ^ # | - # | 1 << schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.c:220:30: note: you can silence this warning by using a hexadecimal constant (0x2 rather than 2) # 220 | encoder->I_frame_alloc = 2 ^ 24; # | ^ # | 0x2 # 218| int num_B_frames = gop_length - num_P_frames - 1; # 219| int total; # 220|-> encoder->I_frame_alloc = 2 ^ 24; # 221| encoder->P_frame_alloc = encoder->I_frame_alloc / 3; # 222| encoder->B_frame_alloc = encoder->P_frame_alloc / 3; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.c:1230:3: warning[deadcode.DeadStores]: Value stored to 'offset' is never read # 1228| schro_encoder_fixup_offsets (frame->encoder, buf, FALSE); # 1229| orc_memcpy (buffer->data + offset, buf->data, buf->length); # 1230|-> offset += buf->length; # 1231| } # 1232| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroengine.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrofft.c:38:12: warning[core.BitwiseShift]: Right operand is negative in left shift # 36| # 37| half_n = 1 << i; # 38|-> skip = 1 << (shift - i - 1); # 39| for (j = 0; j < skip; j++) { # 40| for (k = 0; k < half_n; k++) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrofilter.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c: scope_hint: In function 'schro_frame_subtract_s16_s16' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1113:7: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1113 | orc_subtract_s16 (ddata, ddata, sdata, width); # | ^~~~~~~~~~~~~~~~ # 1111| sdata = SCHRO_FRAME_DATA_GET_LINE (scomp, y); # 1112| ddata = SCHRO_FRAME_DATA_GET_LINE (dcomp, y); # 1113|-> orc_subtract_s16 (ddata, ddata, sdata, width); # 1114| } # 1115| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c: scope_hint: In function 'schro_frame_subtract_s16_u8' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1139:7: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1139 | orc_subtract_s16_u8 (ddata, ddata, sdata, width); # | ^~~~~~~~~~~~~~~~~~~ # 1137| sdata = SCHRO_FRAME_DATA_GET_LINE (scomp, y); # 1138| ddata = SCHRO_FRAME_DATA_GET_LINE (dcomp, y); # 1139|-> orc_subtract_s16_u8 (ddata, ddata, sdata, width); # 1140| } # 1141| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1364:9: warning[deadcode.DeadStores]: Value stored to 'data' is never read # 1362| # 1363| comp = &frame->components[i]; # 1364|-> data = comp->data; # 1365| # 1366| w = (i > 0) ? chroma_width : width; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1386:9: warning[deadcode.DeadStores]: Value stored to 'data' is never read # 1384| # 1385| comp = &frame->components[i]; # 1386|-> data = comp->data; # 1387| # 1388| w = (i > 0) ? chroma_width : width; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1805:3: warning[deadcode.DeadStores]: Value stored to 'x' is never read # 1803| state[3] = 0x10325476; # 1804| # 1805|-> x = 0; # 1806| y = 0; # 1807| k = 0; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1806:3: warning[deadcode.DeadStores]: Value stored to 'y' is never read # 1804| # 1805| x = 0; # 1806|-> y = 0; # 1807| k = 0; # 1808| for (k = 0; k < 3; k++) { Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.c:1807:3: warning[deadcode.DeadStores]: Value stored to 'k' is never read # 1805| x = 0; # 1806| y = 0; # 1807|-> k = 0; # 1808| for (k = 0; k < 3; k++) { # 1809| for (y = 0; y < frame->components[k].height; y++) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroglobalest.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrohierbm.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrolowdelay.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrolowdelay.c: scope_hint: In function 'schro_encoder_encode_lowdelay_transform_data' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrolowdelay.c:1164:34: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'lowdelay.luma_subbands[0].height' # 1162| # 1163| schro_lowdelay_init (&lowdelay, frame->iwt_frame, params); # 1164|-> lowdelay.reconstructed_frame = schro_frame_new_and_alloc (NULL, # 1165| frame->iwt_frame->format, # 1166| lowdelay.luma_subbands[0].width, lowdelay.luma_subbands[0].height); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrolowdelay.c:1164:34: warning[core.CallAndMessage]: 3rd function call argument is an uninitialized value # 1162| # 1163| schro_lowdelay_init (&lowdelay, frame->iwt_frame, params); # 1164|-> lowdelay.reconstructed_frame = schro_frame_new_and_alloc (NULL, # 1165| frame->iwt_frame->format, # 1166| lowdelay.luma_subbands[0].width, lowdelay.luma_subbands[0].height); Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:103:58: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 101| if (skip_h > 1) { # 102| for (j = 0; j < scan->scan_height; ++j) { # 103|-> metrics[(i * 2 + 1) * scan->scan_height + j] = # 104| metrics[i * 2 * scan->scan_height + j]; # 105| } Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c: scope_hint: In function 'schro_metric_scan_do_scan' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:104:24: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'metrics[<unknown>]' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:11: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:38:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.h:56:9: note: in definition of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:40:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.h:56:9: note: in definition of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:42:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:43:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:43:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:44:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:44:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:45:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:45:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparams.h:7: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:8: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroanalysis.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.h:52:46: note: in definition of macro 'SCHRO_FRAME_FORMAT_H_SHIFT' # 102| for (j = 0; j < scan->scan_height; ++j) { # 103| metrics[(i * 2 + 1) * scan->scan_height + j] = # 104|-> metrics[i * 2 * scan->scan_height + j]; # 105| } # 106| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:110:59: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 108| for (j = 0; j < scan->scan_height; ++j) { # 109| for (i = 0; i < scan->scan_width; ++i) { # 110|-> scan->chroma_metrics[i * scan->scan_height + j] += # 111| metrics[i * scan->scan_height + j]; # 112| } Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:111:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'metrics[<unknown>]' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:38:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.h:56:9: note: in definition of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:40:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrodebug.h:56:9: note: in definition of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:42:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:43:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:43:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:44:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:44:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:45:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrometric.c:45:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.h:52:46: note: in definition of macro 'SCHRO_FRAME_FORMAT_H_SHIFT' # 109| for (i = 0; i < scan->scan_width; ++i) { # 110| scan->chroma_metrics[i * scan->scan_height + j] += # 111|-> metrics[i * scan->scan_height + j]; # 112| } # 113| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c: scope_hint: In function 'schro_motion_render_u8' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c:812:9: warning[-Wanalyzer-null-dereference]: dereference of NULL 'ocomp' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparams.h:7: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:8: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroanalysis.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.h:47:44: note: in definition of macro 'SCHRO_FRAME_FORMAT_DEPTH' # 810| if (SCHRO_FRAME_FORMAT_DEPTH (addframe->format) == # 811| SCHRO_FRAME_FORMAT_DEPTH_S16) { # 812|-> orc_rrshift6_add_s16_2d (SCHRO_FRAME_DATA_GET_LINE (ocomp, 0), # 813| ocomp->stride, SCHRO_FRAME_DATA_GET_LINE (acomp, 0), acomp->stride, # 814| SCHRO_FRAME_DATA_GET_LINE (comp, 0), comp->stride, motion->width, Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c:812:34: warning[core.NullDereference]: Access to field 'data' results in a dereference of a null pointer (loaded from variable 'ocomp') # 810| if (SCHRO_FRAME_FORMAT_DEPTH (addframe->format) == # 811| SCHRO_FRAME_FORMAT_DEPTH_S16) { # 812|-> orc_rrshift6_add_s16_2d (SCHRO_FRAME_DATA_GET_LINE (ocomp, 0), # 813| ocomp->stride, SCHRO_FRAME_DATA_GET_LINE (acomp, 0), acomp->stride, # 814| SCHRO_FRAME_DATA_GET_LINE (comp, 0), comp->stride, motion->width, Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c:817:9: warning[-Wanalyzer-null-dereference]: dereference of NULL 'ocomp' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.h:47:44: note: in definition of macro 'SCHRO_FRAME_FORMAT_DEPTH' # 815| motion->ybsep - motion->yoffset); # 816| } else { # 817|-> orc_rrshift6_add_s32_2d (SCHRO_FRAME_DATA_GET_LINE (ocomp, 0), # 818| ocomp->stride, SCHRO_FRAME_DATA_GET_LINE (acomp, 0), acomp->stride, # 819| SCHRO_FRAME_DATA_GET_LINE (comp, 0), comp->stride, motion->width, Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotion8.c:817:34: warning[core.NullDereference]: Access to field 'data' results in a dereference of a null pointer (loaded from variable 'ocomp') # 815| motion->ybsep - motion->yoffset); # 816| } else { # 817|-> orc_rrshift6_add_s32_2d (SCHRO_FRAME_DATA_GET_LINE (ocomp, 0), # 818| ocomp->stride, SCHRO_FRAME_DATA_GET_LINE (acomp, 0), acomp->stride, # 819| SCHRO_FRAME_DATA_GET_LINE (comp, 0), comp->stride, motion->width, Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:157:9: note: Taking false branch # 155| for (jj = 0; jj < 4; jj += skip) { # 156| for (ii = 0; ii < 4; ii += skip) { # 157|-> if (SCHRO_METRIC_INVALID == block->mv[jj][ii].metric) { # 158| continue; # 159| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:160:9: note: Taking true branch # 158| continue; # 159| } # 160|-> if (block->mv[jj][ii].pred_mode == 1 # 161| || block->mv[jj][ii].pred_mode == 2) { # 162| SchroUpsampledFrame *ref_upframe; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:160:13: note: Assuming field 'pred_mode' is not equal to 1 # 158| continue; # 159| } # 160|-> if (block->mv[jj][ii].pred_mode == 1 # 161| || block->mv[jj][ii].pred_mode == 2) { # 162| SchroUpsampledFrame *ref_upframe; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:160:13: note: Left side of '||' is false # 158| continue; # 159| } # 160|-> if (block->mv[jj][ii].pred_mode == 1 # 161| || block->mv[jj][ii].pred_mode == 2) { # 162| SchroUpsampledFrame *ref_upframe; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:161:16: note: Assuming field 'pred_mode' is equal to 2 # 159| } # 160| if (block->mv[jj][ii].pred_mode == 1 # 161|-> || block->mv[jj][ii].pred_mode == 2) { # 162| SchroUpsampledFrame *ref_upframe; # 163| SchroFrameData orig; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:173:11: note: The value 1 is assigned to 'ref' # 171| int ref; # 172| # 173|-> ref = block->mv[jj][ii].pred_mode - 1; # 174| ref_upframe = frame->ref_frame[ref]->upsampled_original_frame; # 175| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:174:25: note: Access to field 'upsampled_original_frame' results in a dereference of a null pointer # 172| # 173| ref = block->mv[jj][ii].pred_mode - 1; # 174|-> ref_upframe = frame->ref_frame[ref]->upsampled_original_frame; # 175| # 176| x = MAX ((i + ii) * frame->params.xbsep_luma, 0); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:174:25: warning[core.NullDereference]: Access to field 'upsampled_original_frame' results in a dereference of a null pointer # 172| # 173| ref = block->mv[jj][ii].pred_mode - 1; # 174|-> ref_upframe = frame->ref_frame[ref]->upsampled_original_frame; # 175| # 176| x = MAX ((i + ii) * frame->params.xbsep_luma, 0); Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1482: error[overlappingWriteFunction]: Overlapping read/write in memcpy() is undefined behavior # 1480| mv[2] = mv[0]; # 1481| mv[3] = mv[0]; # 1482|-> memcpy (mv + 4, mv, 4 * sizeof (*mv)); # 1483| memcpy (mv + 8, mv, 4 * sizeof (*mv)); # 1484| memcpy (mv + 12, mv, 4 * sizeof (*mv)); Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1483: error[overlappingWriteFunction]: Overlapping read/write in memcpy() is undefined behavior # 1481| mv[3] = mv[0]; # 1482| memcpy (mv + 4, mv, 4 * sizeof (*mv)); # 1483|-> memcpy (mv + 8, mv, 4 * sizeof (*mv)); # 1484| memcpy (mv + 12, mv, 4 * sizeof (*mv)); # 1485| } Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1484: error[overlappingWriteFunction]: Overlapping read/write in memcpy() is undefined behavior # 1482| memcpy (mv + 4, mv, 4 * sizeof (*mv)); # 1483| memcpy (mv + 8, mv, 4 * sizeof (*mv)); # 1484|-> memcpy (mv + 12, mv, 4 * sizeof (*mv)); # 1485| } # 1486| if (mv->split == 1) { Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1489: error[overlappingWriteFunction]: Overlapping read/write in memcpy() is undefined behavior # 1487| mv[1] = mv[0]; # 1488| mv[3] = mv[2]; # 1489|-> memcpy (mv + 4, mv, 4 * sizeof (*mv)); # 1490| mv[9] = mv[8]; # 1491| mv[11] = mv[10]; Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1492: error[overlappingWriteFunction]: Overlapping read/write in memcpy() is undefined behavior # 1490| mv[9] = mv[8]; # 1491| mv[11] = mv[10]; # 1492|-> memcpy (mv + 12, mv + 8, 4 * sizeof (*mv)); # 1493| } # 1494| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1573:5: note: Taking false branch # 1571| dy >>= SCHRO_CHROMA_FORMAT_V_SHIFT (params->video_format->chroma_format); # 1572| dy += tmp_y; # 1573|-> if (INT_MAX == mv->metric) { # 1574| *metric = INT_MAX; # 1575| return; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1578:14: note: Assigned value is garbage or undefined # 1576| } # 1577| /* I need to save the original value of fd width and height */ # 1578|-> fd_width = fd->width; # 1579| fd_height = fd->height; # 1580| fd->width = width[k]; Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c: scope_hint: In function 'schro_get_split2_metric' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1578:14: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*fd.width' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:11: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2876:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2820:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1671:9: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroanalysis.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroutils.h:44:24: note: in definition of macro 'MIN' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2799:3: note: in expansion of macro 'SCHRO_ASSERT' # 1576| } # 1577| /* I need to save the original value of fd width and height */ # 1578|-> fd_width = fd->width; # 1579| fd_height = fd->height; # 1580| fd->width = width[k]; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1578:14: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 1576| } # 1577| /* I need to save the original value of fd width and height */ # 1578|-> fd_width = fd->width; # 1579| fd_height = fd->height; # 1580| fd->width = width[k]; Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c: scope_hint: In function 'schro_do_split2' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1727:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*<unknown>.width' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2876:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2820:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1671:9: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2820:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1671:9: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' # 1725| } # 1726| /* I need to save the original value of fd width and height */ # 1727|-> fd_width = fd[ref].width; # 1728| fd_height = fd[ref].height; # 1729| fd[ref].width = width[k]; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1727:22: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 1725| } # 1726| /* I need to save the original value of fd width and height */ # 1727|-> fd_width = fd[ref].width; # 1728| fd_height = fd[ref].height; # 1729| fd[ref].width = width[k]; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:1755:13: warning[deadcode.DeadStores]: Value stored to 'min_score' is never read # 1753| best_entropy = entropy[0] + entropy[1]; # 1754| best_mv = *mv; # 1755|-> min_score = score; # 1756| } # 1757| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2188:13: warning[deadcode.DeadStores]: Value stored to 'min_score' is never read # 2186| best_entropy = entropy[0] + entropy[1]; # 2187| best_mv = mv_ref[0]; # 2188|-> min_score = score; # 2189| } # 2190| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2294:3: warning[deadcode.DeadStores]: Value stored to 'tmp_x' is never read # 2292| } # 2293| /* now pick the best candidate */ # 2294|-> tmp_x = (i * params->xbsep_luma) << mv_prec; # 2295| tmp_y = (j * params->ybsep_luma) << mv_prec; # 2296| upframe = schro_me_ref (me, ref); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2295:3: warning[deadcode.DeadStores]: Value stored to 'tmp_y' is never read # 2293| /* now pick the best candidate */ # 2294| tmp_x = (i * params->xbsep_luma) << mv_prec; # 2295|-> tmp_y = (j * params->ybsep_luma) << mv_prec; # 2296| upframe = schro_me_ref (me, ref); # 2297| for (m = 0; n > m; ++m) { Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c: scope_hint: In function 'schro_do_split0_biref' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2458:32: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'width[k]' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2876:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2799:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparams.h:6: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:8: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:85:48: note: in definition of macro 'SCHRO_CHROMA_FORMAT_H_SHIFT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:86:48: note: in definition of macro 'SCHRO_CHROMA_FORMAT_V_SHIFT' # 2456| fd_width = fd[ref].width; # 2457| fd_height = fd[ref].height; # 2458|-> fd[ref].width = width[k]; # 2459| fd[ref].height = height[k]; # 2460| upframe[ref] = schro_me_ref (me, ref); Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2475:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value 'height[k]' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2792:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2876:3: note: in expansion of macro 'SCHRO_ASSERT' # 2473| for (k = 1; 3 > k; ++k) { # 2474| chroma_error += # 2475|-> schro_metric_get_biref (&orig[k], &ref_data[k][0], 1, # 2476| &ref_data[k][1], 1, 1, width[k], height[k]); # 2477| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2566:7: warning[deadcode.DeadStores]: Value stored to 'min_score' is never read # 2564| # 2565| if (biref_block.valid && min_score > biref_block.score) { # 2566|-> min_score = biref_block.score; # 2567| best_mv = biref_block.mv[0][0]; # 2568| best_error = biref_block.error; Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c: scope_hint: In function 'schro_mode_decision' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2603:20: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2603:20: note: write of 8 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2603:20: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2601| if (1 < params->mv_precision) { # 2602| for (ref = 0; params->num_refs > ref; ++ref) { # 2603|-> fd[ref].data = schro_malloc (block_size * sizeof (uint8_t)); # 2604| fd[ref].stride = fd[ref].width = params->xbsep_luma << 2; # 2605| fd[ref].height = params->ybsep_luma << 2; Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:22: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:22: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:22: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2602| for (ref = 0; params->num_refs > ref; ++ref) { # 2603| fd[ref].data = schro_malloc (block_size * sizeof (uint8_t)); # 2604|-> fd[ref].stride = fd[ref].width = params->xbsep_luma << 2; # 2605| fd[ref].height = params->ybsep_luma << 2; # 2606| fd[ref].length = block_size * sizeof (uint8_t); Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:38: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:38: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2604:38: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2602| for (ref = 0; params->num_refs > ref; ++ref) { # 2603| fd[ref].data = schro_malloc (block_size * sizeof (uint8_t)); # 2604|-> fd[ref].stride = fd[ref].width = params->xbsep_luma << 2; # 2605| fd[ref].height = params->ybsep_luma << 2; # 2606| fd[ref].length = block_size * sizeof (uint8_t); Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2605:22: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2605:22: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2605:22: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2603| fd[ref].data = schro_malloc (block_size * sizeof (uint8_t)); # 2604| fd[ref].stride = fd[ref].width = params->xbsep_luma << 2; # 2605|-> fd[ref].height = params->ybsep_luma << 2; # 2606| fd[ref].length = block_size * sizeof (uint8_t); # 2607| fd[ref].h_shift = fd[ref].v_shift = 0; Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2606:22: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2606:22: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2606:22: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2604| fd[ref].stride = fd[ref].width = params->xbsep_luma << 2; # 2605| fd[ref].height = params->ybsep_luma << 2; # 2606|-> fd[ref].length = block_size * sizeof (uint8_t); # 2607| fd[ref].h_shift = fd[ref].v_shift = 0; # 2608| fd[ref].format = SCHRO_FRAME_FORMAT_U8_420; Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:23: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:23: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:23: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2605| fd[ref].height = params->ybsep_luma << 2; # 2606| fd[ref].length = block_size * sizeof (uint8_t); # 2607|-> fd[ref].h_shift = fd[ref].v_shift = 0; # 2608| fd[ref].format = SCHRO_FRAME_FORMAT_U8_420; # 2609| } Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:41: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:41: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2607:41: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2605| fd[ref].height = params->ybsep_luma << 2; # 2606| fd[ref].length = block_size * sizeof (uint8_t); # 2607|-> fd[ref].h_shift = fd[ref].v_shift = 0; # 2608| fd[ref].format = SCHRO_FRAME_FORMAT_U8_420; # 2609| } Error: GCC_ANALYZER_WARNING (CWE-121): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2608:22: warning[-Wanalyzer-out-of-bounds]: stack-based buffer overflow schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2883:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2890:3: note: in expansion of macro 'SCHRO_ASSERT' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2608:22: note: write of 4 bytes to beyond the end of 'fd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionest.c:2608:22: note: valid subscripts for 'fd' are '[0]' to '[1]' # 2606| fd[ref].length = block_size * sizeof (uint8_t); # 2607| fd[ref].h_shift = fd[ref].v_shift = 0; # 2608|-> fd[ref].format = SCHRO_FRAME_FORMAT_U8_420; # 2609| } # 2610| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionfast.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionfast.c:269:5: warning[deadcode.DeadStores]: Value stored to 'j' is never read # 267| (motion->height - motion->yoffset) / motion->ybsep); # 268| # 269|-> j = 0; # 270| for (j = 0; j < max_y_blocks; j++) { # 271| y = motion->ybsep * j - motion->yoffset; Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schromotionref.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparams.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparse.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparse.c:194:15: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 192| } # 193| # 194|-> if (data[0] != 'B' || data[1] != 'B' || data[2] != 'C' || data[3] != 'D') { # 195| return 0; # 196| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrophasecorrelation.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroquantiser.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroroughmotion.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrossim.c:38:5: warning[deadcode.DeadStores]: Value stored to 'ddata' is never read # 36| dcomp = &dest->components[i]; # 37| scomp = &src->components[i]; # 38|-> ddata = dcomp->data; # 39| sdata = scomp->data; # 40| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrossim.c:39:5: warning[deadcode.DeadStores]: Value stored to 'sdata' is never read # 37| scomp = &src->components[i]; # 38| ddata = dcomp->data; # 39|-> sdata = scomp->data; # 40| # 41| width = (dcomp->width < scomp->width) ? dcomp->width : scomp->width; Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrounpack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroutils.c: scope_hint: In function 'schro_malloc0' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroutils.c:52:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL 'ptr' where non-null expected <built-in>: note: argument 1 of '__builtin_memset' must be non-null # 50| # 51| ptr = malloc (size); # 52|-> memset (ptr, 0, size); # 53| SCHRO_DEBUG ("alloc %p %d", ptr, size); # 54| Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroanalysis.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:6: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'schro_iiwt_desl_9_3_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroutils.h:68:35: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 68 | #define SCHRO_OFFSET(ptr,offset) ((void *)(((uint8_t *)(ptr)) + (offset))) schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroframe.h:100:42: note: in expansion of macro 'SCHRO_OFFSET' # 100 | #define SCHRO_FRAME_DATA_GET_LINE(fd,i) (SCHRO_OFFSET((fd)->data,(fd)->stride*(i))) # | ^~~~~~~~~~~~ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:2095:15: note: in expansion of macro 'SCHRO_FRAME_DATA_GET_LINE' # 2095 | SCHRO_FRAME_DATA_GET_LINE (src, j), # | ^~~~~~~~~~~~~~~~~~~~~~~~~ # 66| #endif # 67| # 68|-> #define SCHRO_OFFSET(ptr,offset) ((void *)(((uint8_t *)(ptr)) + (offset))) # 69| #define SCHRO_GET(ptr, offset, type) (*(type *)((uint8_t *)(ptr) + (offset)) ) # 70| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrovideoformat.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrovideoformat.c:111: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour # 109| # 110| for (i = 0; i < 32; i++) { # 111|-> if (max < (1 << i)) # 112| return i; # 113| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrovirtframe.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert1_odd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:772:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 772 | orc_mas2_sub_s16_op (hi, hi, lo1, lo2, 6497, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 770| } # 771| # 772|-> orc_mas2_sub_s16_op (hi, hi, lo1, lo2, 6497, 2048, 12, width); # 773| } # 774| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert1_even' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:793:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 793 | orc_mas2_sub_s16_op (lo, lo, hi1, hi2, 217, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 791| hi2 = SCHRO_FRAME_DATA_GET_LINE (fd, i + 1); # 792| # 793|-> orc_mas2_sub_s16_op (lo, lo, hi1, hi2, 217, 2048, 12, width); # 794| } # 795| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert2_odd' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:814:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 814 | orc_mas2_add_s16_op (hi, hi, lo1, lo2, 3616, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 812| } # 813| # 814|-> orc_mas2_add_s16_op (hi, hi, lo1, lo2, 3616, 2048, 12, width); # 815| } # 816| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert2_even' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:835:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 835 | orc_mas2_add_s16_op (lo, lo, hi1, hi2, 1817, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 833| hi2 = SCHRO_FRAME_DATA_GET_LINE (fd, i + 1); # 834| # 835|-> orc_mas2_add_s16_op (lo, lo, hi1, hi2, 1817, 2048, 12, width); # 836| } # 837| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert1_odd_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:1360:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1360 | orc_mas2_sub_s32_op (hi, hi, lo1, lo2, 6497, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 1358| } # 1359| # 1360|-> orc_mas2_sub_s32_op (hi, hi, lo1, lo2, 6497, 2048, 12, width); # 1361| } # 1362| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert1_even_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:1381:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1381 | orc_mas2_sub_s32_op (lo, lo, hi1, hi2, 217, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 1379| hi2 = SCHRO_FRAME_DATA_GET_LINE (fd, i + 1); # 1380| # 1381|-> orc_mas2_sub_s32_op (lo, lo, hi1, hi2, 217, 2048, 12, width); # 1382| } # 1383| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert2_odd_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:1402:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1402 | orc_mas2_add_s32_op (hi, hi, lo1, lo2, 3616, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 1400| } # 1401| # 1402|-> orc_mas2_add_s32_op (hi, hi, lo1, lo2, 3616, 2048, 12, width); # 1403| } # 1404| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'wavelet_iwt_daub97_vert2_even_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:1423:5: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 1423 | orc_mas2_add_s32_op (lo, lo, hi1, hi2, 1817, 2048, 12, width); # | ^~~~~~~~~~~~~~~~~~~ # 1421| hi2 = SCHRO_FRAME_DATA_GET_LINE (fd, i + 1); # 1422| # 1423|-> orc_mas2_add_s32_op (lo, lo, hi1, hi2, 1817, 2048, 12, width); # 1424| } # 1425| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c: scope_hint: In function 'schro_iiwt_13_5_s32' schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:2247:13: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 2247 | srcline, s1, s2, s3, s4, 1 << 4, 5, width); # | ^~~~~~~ # 2245| } # 2246| orc_mas4_vert_sub_s32_1991_op (srcline, # 2247|-> srcline, s1, s2, s3, s4, 1 << 4, 5, width); # 2248| } # 2249| } Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrowaveletorc.c:2268:13: warning[-Wrestrict]: passing argument 1 to 'restrict'-qualified parameter aliases with argument 2 # 2268 | srcline, s1, s2, s3, s4, 1 << 3, 4, width); # | ^~~~~~~ # 2266| } # 2267| orc_mas4_vert_add_s32_1991_op (srcline, # 2268|-> srcline, s1, s2, s3, s4, 1 << 3, 4, width); # 2269| } # 2270| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith_encode.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith_encode.c:57:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘fopen("test_file", "r")’ where non-null expected schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith_encode.c:4: included_from: Included from here. /usr/include/stdio.h:728:15: note: argument 4 of ‘fread’ must be non-null # 55| # 56| file = fopen("test_file","r"); # 57|-> n_bytes = fread (input_buffer, 1, BUFFER_SIZE, file); # 58| fclose(file); # 59| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith_encode.c:73:3: warning[deadcode.DeadStores]: Value stored to 'n_bytes' is never read # 71| # 72| file = fopen("test_file_arith.out","w"); # 73|-> n_bytes = fwrite (output_buffer, 1, a->offset, file); # 74| fclose(file); # 75| Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/arith_encode.c:73:13: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘fopen("test_file_arith.out", "w")’ where non-null expected /usr/include/stdio.h:735:15: note: argument 4 of ‘fwrite’ must be non-null # 71| # 72| file = fopen("test_file_arith.out","w"); # 73|-> n_bytes = fwrite (output_buffer, 1, a->offset, file); # 74| fclose(file); # 75| Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:6: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c: scope_hint: In function ‘speed_arith_qm’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith.h:74:15: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘indata’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:240:1: note: in expansion of macro ‘DEFINE_SPEED’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:240:1: note: in expansion of macro ‘DEFINE_SPEED’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:240:1: note: in expansion of macro ‘DEFINE_SPEED’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith.h:74:18: note: in expansion of macro ‘rand_u8’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:240:1: note: in expansion of macro ‘DEFINE_SPEED’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_qm.c:240:1: note: in expansion of macro ‘DEFINE_SPEED’ # 72| orc_profile_init (&prof); \ # 73| for(i=0;i<n;i++){ \ # 74|-> indata[i] = (rand_u8() < x); \ # 75| } \ # 76| for(j=0;j<20;j++) { \ Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_dirac_both.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_dirac_byte.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/arith_exp.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-628): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/coder/coding_efficiency.c:29: warning[invalidFunctionArg]: Invalid log() argument nr 1. The value is 0 but the valid values are '4.94066e-324:'. # 27| if (x == 0 || x == 1) return 0; # 28| # 29|-> return (x*log(x) + (1-x)*log(1-x))/log(0.5); # 30| } # 31| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/colorspace.c:252:21: warning[core.UndefinedBinaryOperatorResult]: The right operand of '*' is a garbage value # 250| for (i = 0; i < 3; i++) { # 251| double x = 0; # 252|-> x += m->m[i][0] * src[0]; # 253| x += m->m[i][1] * src[1]; # 254| x += m->m[i][2] * src[2]; Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/common.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/common.c: scope_hint: In function 'parse_packet' schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/common.c:690:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'packet' # 688| # 689| packet = malloc (size); # 690|-> memcpy (packet, header, 13); # 691| n = fread (packet + 13, 1, size - 13, file); # 692| if (n < size - 13) { Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/common.c:712:10: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 710| } # 711| for(i=0;i<n;i++){ # 712|-> a[i] = tmp[i]; # 713| } # 714| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/common.c:726:10: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 724| } # 725| for(i=0;i<n;i++){ # 726|-> a[i] = tmp[i]; # 727| } # 728| } Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode.c: scope_hint: In function ‘decode’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode.c:103:15: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘format’ # 101| schro_video_format_get_picture_luma_size (format, &width, &height); # 102| frame = schro_frame_new_and_alloc (NULL, # 103|-> schro_params_get_frame_format(8, format->chroma_format), # 104| width, height); # 105| schro_decoder_add_output_picture (decoder, frame); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode.c:103:48: warning[core.NullDereference]: Access to field 'chroma_format' results in a dereference of a null pointer (loaded from variable 'format') # 101| schro_video_format_get_picture_luma_size (format, &width, &height); # 102| frame = schro_frame_new_and_alloc (NULL, # 103|-> schro_params_get_frame_format(8, format->chroma_format), # 104| width, height); # 105| schro_decoder_add_output_picture (decoder, frame); Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c: scope_hint: In function ‘decode’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c:88:17: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘format’ # 86| # 87| if (SCHRO_PARSE_CODE_IS_PICTURE (parse_code)) { # 88|-> frame = schro_frame_new_and_alloc (NULL, # 89| schro_params_get_frame_format(8, format->chroma_format), # 90| format->width, format->height); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c:89:46: warning[core.NullDereference]: Access to field 'chroma_format' results in a dereference of a null pointer (loaded from variable 'format') # 87| if (SCHRO_PARSE_CODE_IS_PICTURE (parse_code)) { # 88| frame = schro_frame_new_and_alloc (NULL, # 89|-> schro_params_get_frame_format(8, format->chroma_format), # 90| format->width, format->height); # 91| schro_decoder_add_output_picture (decoder, frame); Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c:113:19: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘format’ # 111| break; # 112| case SCHRO_DECODER_NEED_FRAME: # 113|-> frame = schro_frame_new_and_alloc (NULL, # 114| schro_params_get_frame_format(8, format->chroma_format), # 115| format->width, format->height); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_coded_order.c:114:48: warning[core.NullDereference]: Access to field 'chroma_format' results in a dereference of a null pointer (loaded from variable 'format') # 112| case SCHRO_DECODER_NEED_FRAME: # 113| frame = schro_frame_new_and_alloc (NULL, # 114|-> schro_params_get_frame_format(8, format->chroma_format), # 115| format->width, format->height); # 116| schro_decoder_add_output_picture (decoder, frame); Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_loop.c: scope_hint: In function ‘decode’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_loop.c:101:19: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘format’ # 99| break; # 100| case SCHRO_DECODER_NEED_FRAME: # 101|-> frame = schro_frame_new_and_alloc (NULL, # 102| schro_params_get_frame_format(8, format->chroma_format), # 103| format->width, format->height); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/decode_loop.c:102:48: warning[core.NullDereference]: Access to field 'chroma_format' results in a dereference of a null pointer (loaded from variable 'format') # 100| case SCHRO_DECODER_NEED_FRAME: # 101| frame = schro_frame_new_and_alloc (NULL, # 102|-> schro_params_get_frame_format(8, format->chroma_format), # 103| format->width, format->height); # 104| schro_decoder_add_output_picture (decoder, frame); Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/encode.c: scope_hint: In function ‘test’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/encode.c:59:11: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘picture’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null # 57| # 58| picture = malloc(size); # 59|-> memset (picture, 128, size); # 60| # 61| frame = schro_frame_new_from_data_I420 (picture, w, h); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c:104:11: warning[core.BitwiseShift]: Right operand is negative in left shift # 102| # 103| half_n = 1<<i; # 104|-> skip = 1<<(shift - i - 1); # 105| for(j=0;j<skip; j++) { # 106| for(k=0;k<half_n;k++){ Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c: scope_hint: In function ‘fft_stage_try2’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c:113:22: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘d1’ # 111| costable[k*skip], sintable[k*skip]); # 112| # 113|-> d1[k*skip + j] = s1[offset + j] + x; # 114| d2[k*skip + j] = s2[offset + j] + y; # 115| d1[k*skip + half_n*skip + j] = s1[offset + j] - x; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c:113:39: warning[core.UndefinedBinaryOperatorResult]: The left operand of '+' is a garbage value # 111| costable[k*skip], sintable[k*skip]); # 112| # 113|-> d1[k*skip + j] = s1[offset + j] + x; # 114| d2[k*skip + j] = s2[offset + j] + y; # 115| d1[k*skip + half_n*skip + j] = s1[offset + j] - x; Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c: scope_hint: In function ‘DFT_try2’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c:132:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘s2’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null # 130| # 131| s2 = malloc (sizeof(double)*n); # 132|-> memset (s2, 0, sizeof(double)*n); # 133| # 134| tmp = malloc (4*sizeof(double)*n); Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c: scope_hint: In function ‘DFT_try3’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/fft.c:258:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘s2’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null # 256| # 257| s2 = malloc (sizeof(double)*n); # 258|-> memset (s2, 0, sizeof(double)*n); # 259| # 260| fft_stage_step0_try3 (d1, d2, s1, s2, costable, sintable, shift); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:212:5: warning[deadcode.DeadStores]: Value stored to 'hi_isum' is never read # 210| if (isum > target) { # 211| hi_adj = 0.0; # 212|-> hi_isum = isum; # 213| lo_adj = -0.5; # 214| filter2d_quantise (filter, lo_adj); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:221:5: warning[deadcode.DeadStores]: Value stored to 'lo_isum' is never read # 219| } else { # 220| lo_adj = 0.0; # 221|-> lo_isum = isum; # 222| hi_adj = 0.5; # 223| filter2d_quantise (filter, hi_adj); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:240:7: warning[deadcode.DeadStores]: Value stored to 'lo_isum' is never read # 238| if (mid_isum < target) { # 239| lo_adj = mid_adj; # 240|-> lo_isum = mid_isum; # 241| } else { # 242| hi_adj = mid_adj; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:243:7: warning[deadcode.DeadStores]: Value stored to 'hi_isum' is never read # 241| } else { # 242| hi_adj = mid_adj; # 243|-> hi_isum = mid_isum; # 244| } # 245| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:268:3: warning[deadcode.DeadStores]: Value stored to 'offset' is never read # 266| # 267| cutoff = 0.5; # 268|-> offset = 0.25; # 269| w = 4; # 270| for(i = 0; i <= 50; i++) { Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/filter_coeff.c:269:3: warning[deadcode.DeadStores]: Value stored to 'w' is never read # 267| cutoff = 0.5; # 268| offset = 0.25; # 269|-> w = 4; # 270| for(i = 0; i <= 50; i++) { # 271| offset = i/50.0; Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion.c:68:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘motion_vectors’ where non-null expected <built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null # 66| motion_vectors = malloc(sizeof(SchroMotionVector) * # 67| params.x_num_blocks * params.y_num_blocks); # 68|-> memset (motion_vectors, 0, sizeof(SchroMotionVector) * # 69| params.x_num_blocks * params.y_num_blocks); # 70| Error: GCC_ANALYZER_WARNING (CWE-688): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion2.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion2.c:127:3: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘motion_vectors’ where non-null expected schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion2.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/motion2.c: scope_hint: In function ‘main’ <built-in>: note: argument 1 of ‘__builtin_memset’ must be non-null # 125| motion_vectors = malloc(sizeof(SchroMotionVector) * # 126| params.x_num_blocks * params.y_num_blocks); # 127|-> memset (motion_vectors, 0, sizeof(SchroMotionVector) * # 128| params.x_num_blocks * params.y_num_blocks); # 129| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/perceptual_weight.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-823): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/perceptual_weight.c:36: error[arrayIndexOutOfBounds]: Array 'encoder->intra_subband_weights[7][6][19]' accessed at index encoder->intra_subband_weights[7][*][0], which is out of bounds. # 34| n = 3*(j+1)+1; # 35| # 36|-> min = encoder->intra_subband_weights[filter][j][0]; # 37| for(i=0;i<n;i++){ # 38| if (encoder->intra_subband_weights[filter][j][i] < min) { Error: CPPCHECK_WARNING (CWE-823): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/perceptual_weight.c:54: error[arrayIndexOutOfBounds]: Array 'encoder->inter_subband_weights[7][6][19]' accessed at index encoder->inter_subband_weights[7][*][0], which is out of bounds. # 52| n = 3*(j+1)+1; # 53| # 54|-> min = encoder->inter_subband_weights[filter][j][0]; # 55| for(i=0;i<n;i++){ # 56| if (encoder->inter_subband_weights[filter][j][i] < min) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/quant.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-758): schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/quant.c: scope_hint: In function ‘test_dequant’ schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/quant.c:167:25: warning[-Wrestrict]: passing argument 1 to ‘restrict’-qualified parameter aliases with argument 2 # 167 | orc_dequantise_s16 (c, c, quant_factor, quant_offset, N); # | ^ ~ # 165| /* do nothing */ # 166| } else { # 167|-> orc_dequantise_s16 (c, c, quant_factor, quant_offset, N); # 168| } # 169| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/sort.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/tables2/lowdelay_tables.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/tables2/quant_tables.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/tables2/unpack_tables.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/tables2/wavelet_tables.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/unpack.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/upsample.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_2d.c:415:9: warning[unix.MallocSizeof]: Result of 'malloc' is converted to a pointer of type 'int16_t', which is incompatible with sizeof operand type 'int32_t' # 413| int16_t *tmp; # 414| # 415|-> tmp = malloc(((p->width+8)*2)*sizeof(int32_t)); # 416| # 417| schro_wavelet_transform_2d (p, filter, tmp); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_2d.c:426:9: warning[unix.MallocSizeof]: Result of 'malloc' is converted to a pointer of type 'int16_t', which is incompatible with sizeof operand type 'int32_t' # 424| int16_t *tmp; # 425| # 426|-> tmp = malloc(((p->width+8)*2)*sizeof(int32_t)); # 427| # 428| schro_wavelet_inverse_transform_2d (p, p, filter, tmp); Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_gain.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_gain_curve.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_gain_curve.c:120:23: warning[core.UndefinedBinaryOperatorResult]: The right operand of '*' is a garbage value # 118| b[0] = c[0] * c[0] / (1<<(n_levels*filtershift[filter])); # 119| for(i=0;i<n_levels;i++){ # 120|-> b[i*2+1] = c[i+0] * c[i+1] / (1<<((n_levels-i)*filtershift[filter])); # 121| b[i*2+2] = c[i+1] * c[i+1] / (1<<((n_levels-i)*filtershift[filter])); # 122| } Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_gain_curve.c:126:14: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<' is a garbage value # 124| min = b[0]; # 125| for(i=0;i<n_levels*2+1;i++){ # 126|-> if (b[i] < min) min = b[i]; # 127| } # 128| Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_max_gain.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_max_gain.c:130:7: warning[deadcode.DeadStores]: Value stored to 'fd_ref' is never read # 128| ref = schro_frame_new_and_alloc (NULL, SCHRO_FRAME_FORMAT_S32_444, # 129| width, height); # 130|-> fd_ref = ref->components + 0; # 131| # 132| schro_frame_data_clear (fd_orig); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_max_gain.c:297:9: warning[unix.MallocSizeof]: Result of 'malloc' is converted to a pointer of type 'int16_t', which is incompatible with sizeof operand type 'int32_t' # 295| int16_t *tmp; # 296| # 297|-> tmp = malloc(((p->width+8)*2)*sizeof(int32_t)); # 298| # 299| schro_wavelet_transform_2d (p, filter, tmp); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_max_gain.c:308:9: warning[unix.MallocSizeof]: Result of 'malloc' is converted to a pointer of type 'int16_t', which is incompatible with sizeof operand type 'int32_t' # 306| int16_t *tmp; # 307| # 308|-> tmp = malloc(((p->width+8)*2)*sizeof(int32_t)); # 309| # 310| schro_wavelet_inverse_transform_2d (p, p, filter, tmp); Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_noise_2d.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/testsuite/wavelet_noise_gain.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dirac_parse.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-835): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dirac_parse.c:477:13: warning[-Wanalyzer-infinite-loop]: infinite loop schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dirac_parse.c: scope_hint: In function ‘schro_unpack_decode_uint’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dirac_parse.c: scope_hint: In function ‘schro_unpack_decode_uint’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dirac_parse.c: scope_hint: In function ‘schro_unpack_decode_uint’ # 475| int bit; # 476| # 477|-> if (unpack->n_bits_left < 1) { # 478| return unpack->guard_bit; # 479| } Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:44:13: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "r")’ # 42| } # 43| # 44|-> outfile = fopen (argv[2], "w"); # 45| if (outfile == NULL) { # 46| printf("cannot open %s for writing: %s\n", argv[2], strerror(errno)); Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:44:13: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "r")’ # 42| } # 43| # 44|-> outfile = fopen (argv[2], "w"); # 45| if (outfile == NULL) { # 46| printf("cannot open %s for writing: %s\n", argv[2], strerror(errno)); Error: CPPCHECK_WARNING (CWE-404): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:47: error[resourceLeak]: Resource leak: file # 45| if (outfile == NULL) { # 46| printf("cannot open %s for writing: %s\n", argv[2], strerror(errno)); # 47|-> return 1; # 48| } # 49| Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:50:19: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[2], "w")’ # 48| } # 49| # 50|-> start_picture = strtoul (argv[3], NULL, 0); # 51| end_picture = strtoul (argv[4], NULL, 0); # 52| Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:50:19: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[2], "w")’ # 48| } # 49| # 50|-> start_picture = strtoul (argv[3], NULL, 0); # 51| end_picture = strtoul (argv[4], NULL, 0); # 52| Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:59:38: warning[core.NullDereference]: Array access (from variable 'packet') results in a null pointer dereference # 57| } # 58| # 59|-> if (seq_header_packet == NULL && SCHRO_PARSE_CODE_IS_SEQ_HEADER(packet[4])) { # 60| seq_header_packet = packet; # 61| seq_header_size = size; Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroparams.h:6: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroencoder.h:8: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schroanalysis.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schro.h:5: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:6: included_from: Included from here. schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:59:75: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘packet’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ # 57| } # 58| # 59|-> if (seq_header_packet == NULL && SCHRO_PARSE_CODE_IS_SEQ_HEADER(packet[4])) { # 60| seq_header_packet = packet; # 61| seq_header_size = size; Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:65:9: warning[core.NullDereference]: Array access (from variable 'packet') results in a null pointer dereference # 63| } # 64| # 65|-> if (SCHRO_PARSE_CODE_IS_PICTURE(packet[4])) { # 66| pic_num = (packet[13] << 24) | (packet[14]<<16) | # 67| (packet[15]<<8) | packet[16]; Error: GCC_ANALYZER_WARNING (CWE-457): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:66:24: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘packet[13]’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:43:42: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_PICTURE’ # 64| # 65| if (SCHRO_PARSE_CODE_IS_PICTURE(packet[4])) { # 66|-> pic_num = (packet[13] << 24) | (packet[14]<<16) | # 67| (packet[15]<<8) | packet[16]; # 68| printf("got picture %d\n", pic_num); Error: CLANG_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:130:7: warning[core.NullDereference]: Array access (from variable 'packet') results in a null pointer dereference # 128| int ret; # 129| # 130|-> if (packet[4] == SCHRO_PARSE_CODE_END_OF_SEQUENCE) { # 131| packet[5] = 0; # 132| packet[6] = 0; Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c: scope_hint: In function ‘write_packet’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:130:13: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘packet’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:39:45: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_SEQ_HEADER’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:43:42: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_PICTURE’ schroedinger-1.0.11-build/schroedinger-1.0.11/schroedinger/schrobitstream.h:43:42: note: in definition of macro ‘SCHRO_PARSE_CODE_IS_PICTURE’ # 128| int ret; # 129| # 130|-> if (packet[4] == SCHRO_PARSE_CODE_END_OF_SEQUENCE) { # 131| packet[5] = 0; # 132| packet[6] = 0; Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c: scope_hint: In function ‘parse_packet’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/drc-cut.c:192:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘packet’ # 190| # 191| packet = malloc (size); # 192|-> memcpy (packet, header, 13); # 193| n = fread (packet + 13, 1, size - 13, file); # 194| if (n < size - 13) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:49:8: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 47| # 48| n = fread (header, 1, 13, file); # 49|-> if (n == 0) { # 50| return 0; # 51| } Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:49:8: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 47| # 48| n = fread (header, 1, 13, file); # 49|-> if (n == 0) { # 50| return 0; # 51| } Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:52:8: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 50| return 0; # 51| } # 52|-> if (n < 13) { # 53| printf("truncated header\n"); # 54| return 1; Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:52:8: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 50| return 0; # 51| } # 52|-> if (n < 13) { # 53| printf("truncated header\n"); # 54| return 1; Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:57:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 55| } # 56| # 57|-> if (header[0] != 'B' || header[1] != 'B' || header[2] != 'C' || # 58| header[3] != 'D') { # 59| printf("expected BBCD header\n"); Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:57:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 55| } # 56| # 57|-> if (header[0] != 'B' || header[1] != 'B' || header[2] != 'C' || # 58| header[3] != 'D') { # 59| printf("expected BBCD header\n"); Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_gop.c:77:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘packet’ # 75| # 76| packet = malloc (size); # 77|-> memcpy (packet, header, 13); # 78| n = fread (packet + 13, 1, size - 13, file); # 79| if (n < size - 13) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:48:8: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 46| # 47| n = fread (header, 1, 13, file); # 48|-> if (n == 0) { # 49| return 0; # 50| } Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:48:8: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 46| # 47| n = fread (header, 1, 13, file); # 48|-> if (n == 0) { # 49| return 0; # 50| } Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:51:8: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 49| return 0; # 50| } # 51|-> if (n < 13) { # 52| printf("truncated header\n"); # 53| return 1; Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:51:8: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 49| return 0; # 50| } # 51|-> if (n < 13) { # 52| printf("truncated header\n"); # 53| return 1; Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:56:15: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fn, "r")’ # 54| } # 55| # 56|-> if (header[0] != 'B' || header[1] != 'B' || header[2] != 'C' || # 57| header[3] != 'D') { # 58| printf("expected BBCD header\n"); Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:56:15: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fn, "r")’ # 54| } # 55| # 56|-> if (header[0] != 'B' || header[1] != 'B' || header[2] != 'C' || # 57| header[3] != 'D') { # 58| printf("expected BBCD header\n"); Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/dump_packets.c:76:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘packet’ # 74| # 75| packet = malloc (size); # 76|-> memcpy (packet, header, 13); # 77| n = fread (packet + 13, 1, size - 13, file); # 78| if (n < size - 13) { Error: CPPCHECK_WARNING: schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-775): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c: scope_hint: In function ‘main’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c:40:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(argv[1], "r")’ # 38| } # 39| # 40|-> n = fread (data, 1, 4096, file); # 41| if (n < 13) { # 42| printf("file too short\n"); Error: GCC_ANALYZER_WARNING (CWE-401): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c:40:5: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(argv[1], "r")’ # 38| } # 39| # 40|-> n = fread (data, 1, 4096, file); # 41| if (n < 13) { # 42| printf("file too short\n"); Error: GCC_ANALYZER_WARNING (CWE-476): schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c: scope_hint: In function ‘parse_packet’ schroedinger-1.0.11-build/schroedinger-1.0.11/tools/parse_header.c:140:3: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘packet’ # 138| # 139| packet = malloc (size); # 140|-> memcpy (packet, header, 13); # 141| n = fread (packet + 13, 1, size - 13, file); # 142| if (n < size - 13) {