schroedinger-1.0.11-30.fc41

List of Defects

Error: CPPCHECK_WARNING: [#def1]
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: [#def2]
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: [#def3]
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): [#def4]
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: [#def5]
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: [#def6]
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: [#def7]
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: [#def8]
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: [#def9]
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: [#def10]
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: [#def11]
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: [#def12]
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: [#def13]
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): [#def14]
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): [#def15]
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: [#def16]
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: [#def17]
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: [#def18]
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: [#def19]
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: [#def20]
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: [#def21]
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: [#def22]
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: [#def23]
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): [#def24]
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: [#def25]
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: [#def26]
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: [#def27]
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): [#def28]
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: [#def29]
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): [#def30]
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: [#def31]
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: [#def32]
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): [#def33]
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: [#def34]
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): [#def35]
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: [#def36]
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: [#def37]
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: [#def38]
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: [#def39]
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: [#def40]
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: [#def41]
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: [#def42]
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: [#def43]
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: [#def44]
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: [#def45]
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): [#def46]
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): [#def47]
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): [#def48]
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): [#def49]
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): [#def50]
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: [#def51]
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: [#def52]
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): [#def53]
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: [#def54]
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): [#def55]
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: [#def56]
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: [#def57]
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: [#def58]
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: [#def59]
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: [#def60]
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): [#def61]
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): [#def62]
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: [#def63]
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): [#def64]
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): [#def65]
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): [#def66]
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): [#def67]
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): [#def68]
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): [#def69]
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): [#def70]
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): [#def71]
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: [#def72]
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: [#def73]
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: [#def74]
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: [#def75]
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: [#def76]
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: [#def77]
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: [#def78]
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: [#def79]
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: [#def80]
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: [#def81]
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: [#def82]
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: [#def83]
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): [#def84]
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): [#def85]
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: [#def86]
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): [#def87]
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: [#def88]
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: [#def89]
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): [#def90]
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): [#def91]
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): [#def92]
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): [#def93]
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): [#def94]
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): [#def95]
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): [#def96]
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): [#def97]
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): [#def98]
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): [#def99]
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: [#def100]
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): [#def101]
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: [#def102]
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): [#def103]
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): [#def104]
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: [#def105]
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: [#def106]
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: [#def107]
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): [#def108]
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: [#def109]
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: [#def110]
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): [#def111]
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: [#def112]
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: [#def113]
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): [#def114]
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: [#def115]
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: [#def116]
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): [#def117]
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: [#def118]
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): [#def119]
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: [#def120]
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): [#def121]
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: [#def122]
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): [#def123]
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: [#def124]
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): [#def125]
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: [#def126]
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): [#def127]
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): [#def128]
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: [#def129]
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: [#def130]
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: [#def131]
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: [#def132]
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: [#def133]
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: [#def134]
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): [#def135]
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): [#def136]
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: [#def137]
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): [#def138]
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): [#def139]
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: [#def140]
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): [#def141]
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: [#def142]
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: [#def143]
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: [#def144]
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: [#def145]
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: [#def146]
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: [#def147]
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: [#def148]
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: [#def149]
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: [#def150]
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: [#def151]
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: [#def152]
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: [#def153]
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: [#def154]
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: [#def155]
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: [#def156]
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: [#def157]
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: [#def158]
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: [#def159]
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: [#def160]
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: [#def161]
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): [#def162]
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: [#def163]
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): [#def164]
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): [#def165]
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): [#def166]
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): [#def167]
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): [#def168]
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: [#def169]
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): [#def170]
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: [#def171]
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): [#def172]
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: [#def173]
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): [#def174]
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): [#def175]
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: [#def176]
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): [#def177]
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): [#def178]
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): [#def179]
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): [#def180]
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): [#def181]
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): [#def182]
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): [#def183]
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: [#def184]
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): [#def185]
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): [#def186]
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): [#def187]
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): [#def188]
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): [#def189]
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): [#def190]
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): [#def191]
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: [#def192]
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): [#def193]
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): [#def194]
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): [#def195]
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) {

Scan Properties

analyzer-version-clang18.1.7
analyzer-version-cppcheck2.14.2
analyzer-version-gcc14.1.1
analyzer-version-gcc-analyzer14.1.1
analyzer-version-shellcheck0.10.0
enabled-pluginsclang, cppcheck, gcc, shellcheck
exit-code0
hostip-172-16-1-134.us-west-2.compute.internal
mock-configfedora-41-x86_64
project-nameschroedinger-1.0.11-30.fc41
store-results-to/tmp/tmp_shrx9j4/schroedinger-1.0.11-30.fc41.tar.xz
time-created2024-07-03 17:56:21
time-finished2024-07-03 17:59:00
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-41-x86_64' '-t' 'cppcheck,gcc,clang,shellcheck' '-o' '/tmp/tmp_shrx9j4/schroedinger-1.0.11-30.fc41.tar.xz' '--gcc-analyze' '/tmp/tmp_shrx9j4/schroedinger-1.0.11-30.fc41.src.rpm'
tool-versioncsmock-3.5.3-1.el9