dav1d-1.5.2-1.fc44

List of Findings

Error: CPPCHECK_WARNING (CWE-476): [#def1]
dav1d-1.5.2/include/common/dump.h:42: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: f
#   40|       FILE *const f = fopen(file, "ab");
#   41|       while (h--) {
#   42|->         fwrite(buf, w * sizeof(pixel), 1, f);
#   43|           buf += PXSTRIDE(stride);
#   44|       }

Error: CPPCHECK_WARNING (CWE-476): [#def2]
dav1d-1.5.2/include/common/dump.h:45: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: f
#   43|           buf += PXSTRIDE(stride);
#   44|       }
#   45|->     fclose(f);
#   46|   }
#   47|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def3]
dav1d-1.5.2/src/decode.c:3588:37: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘ref_coded_width[i]’
dav1d-1.5.2/src/decode.c:3333:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/decode.c:3334:9: branch_true: ...to here
dav1d-1.5.2/src/decode.c:3445:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/decode.c:3492:9: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3522:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/decode.c:3524:9: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3574:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/decode.c:3578:18: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3585:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/decode.c:3585:12: branch_true: ...to here
dav1d-1.5.2/src/decode.c:3586:29: branch_true: following ‘true’ branch (when ‘i != 7’)...
dav1d-1.5.2/src/decode.c:3587:36: branch_true: ...to here
dav1d-1.5.2/src/decode.c:3588:37: danger: use of uninitialized value ‘ref_coded_width[i]’ here
# 3586|               for (int i = 0; i < 7; i++) {
# 3587|                   const int refidx = f->frame_hdr->refidx[i];
# 3588|->                 const int ref_w = ((ref_coded_width[i] + 7) >> 3) << 1;
# 3589|                   const int ref_h = ((f->refp[i].p.p.h + 7) >> 3) << 1;
# 3590|                   if (c->refs[refidx].refmvs != NULL &&

Error: CPPCHECK_WARNING (CWE-119): [#def4]
dav1d-1.5.2/src/decode.c:3600: error[bufferAccessOutOfBounds]: Buffer is accessed out of bounds: c->refs[refidx].refpoc
# 3598|                       f->ref_mvs_ref[i] = NULL;
# 3599|                   }
# 3600|->                 memcpy(f->refrefpoc[i], c->refs[refidx].refpoc,
# 3601|                          sizeof(*f->refrefpoc));
# 3602|               }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def5]
dav1d-1.5.2/src/decode.c:3622:33: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘ref_coded_width[pri_ref]’
dav1d-1.5.2/src/decode.c:3333:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/decode.c:3334:9: branch_true: ...to here
dav1d-1.5.2/src/decode.c:3445:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/decode.c:3492:9: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3522:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/decode.c:3524:9: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3612:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/decode.c:3614:9: branch_true: ...to here
dav1d-1.5.2/src/decode.c:3621:13: branch_false: following ‘false’ branch (when ‘pri_ref != 7’)...
dav1d-1.5.2/src/decode.c:3622:33: branch_false: ...to here
dav1d-1.5.2/src/decode.c:3622:33: danger: use of uninitialized value ‘ref_coded_width[pri_ref]’ here
# 3620|               const int pri_ref = f->frame_hdr->primary_ref_frame;
# 3621|               assert(pri_ref != DAV1D_PRIMARY_REF_NONE);
# 3622|->             const int ref_w = ((ref_coded_width[pri_ref] + 7) >> 3) << 1;
# 3623|               const int ref_h = ((f->refp[pri_ref].p.p.h + 7) >> 3) << 1;
# 3624|               if (ref_w == f->bw && ref_h == f->bh) {

Error: CPPCHECK_WARNING (CWE-457): [#def6]
dav1d-1.5.2/src/ipred_prepare_tmpl.c:142: error[legacyUninitvar]: Uninitialized variable: dst_top
#  140|                   pixel_set(left, left[sz - px_have], sz - px_have);
#  141|           } else {
#  142|->             pixel_set(left, have_top ? *dst_top : ((1 << bitdepth) >> 1) + 1, sz);
#  143|           }
#  144|   

Error: GCC_ANALYZER_WARNING (CWE-404): [#def7]
dav1d-1.5.2/src/log.c:54:5: warning[-Wanalyzer-va-list-leak]: missing call to ‘va_end’
dav1d-1.5.2/src/log.c:47:5: branch_false: following ‘false’ branch (when ‘c’ is non-NULL)...
dav1d-1.5.2/src/log.c:49:10: branch_false: ...to here
dav1d-1.5.2/src/log.c:49:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/src/log.c:53:5: branch_false: ...to here
dav1d-1.5.2/src/log.c:53:5: acquire_resource: ‘va_start’ called here
dav1d-1.5.2/src/log.c:54:5: throw: if the called function throws an exception...
dav1d-1.5.2/src/log.c:54:5: danger: missing call to ‘va_end’ to match ‘va_start’ at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   52|       va_list ap;
#   53|       va_start(ap, format);
#   54|->     c->logger.callback(c->logger.cookie, format, ap);
#   55|       va_end(ap);
#   56|   }

Error: GCC_ANALYZER_WARNING (CWE-457): [#def8]
dav1d-1.5.2/src/loopfilter_tmpl.c:118:28: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘flat8in’
dav1d-1.5.2/src/loopfilter_tmpl.c:227:13: enter_function: entry to ‘loop_filter_v_sb128uv_c’
dav1d-1.5.2/src/loopfilter_tmpl.c:234:26: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/loopfilter_tmpl.c:235:13: branch_true: ...to here
dav1d-1.5.2/src/loopfilter_tmpl.c:235:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/src/loopfilter_tmpl.c:236:27: branch_true: ...to here
dav1d-1.5.2/src/loopfilter_tmpl.c:237:16: branch_false: following ‘false’ branch (when ‘L != 0’)...
dav1d-1.5.2/src/loopfilter_tmpl.c:238:23: branch_false: ...to here
dav1d-1.5.2/src/loopfilter_tmpl.c:241:13: call_function: calling ‘loop_filter’ from ‘loop_filter_v_sb128uv_c’
#  116|               dst[strideb * +5] = (p0 + q0 + q1 + q2 + q3 + q4 * 2 + q5 * 2 +
#  117|                                    q6 * 2 + q6 + q6 + q6 + q6 + q6 + 8) >> 4;
#  118|->         } else if (wd >= 8 && flat8in) {
#  119|               dst[strideb * -3] = (p3 + p3 + p3 + 2 * p2 + p1 + p0 + q0 + 4) >> 3;
#  120|               dst[strideb * -2] = (p3 + p3 + p2 + 2 * p1 + p0 + q0 + q1 + 4) >> 3;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def9]
dav1d-1.5.2/src/mc_tmpl.c:525:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
dav1d-1.5.2/src/mc_tmpl.c:508:16: branch_false: following ‘false’ branch (when ‘in_y >= y’)...
dav1d-1.5.2/src/mc_tmpl.c:508:16: branch_false: ...to here
dav1d-1.5.2/src/mc_tmpl.c:524:21: branch_true: following ‘true’ branch (when ‘x < w’)...
dav1d-1.5.2/src/mc_tmpl.c:525:22: branch_true: ...to here
dav1d-1.5.2/src/mc_tmpl.c:525:22: danger: use of uninitialized value ‘*<unknown>’ here
#  523|   
#  524|           for (x = 0; x < w; x++)
#  525|->             dst[x] = FILTER_BILIN_CLIP2(mid1, mid2, x, dmy >> 6,
#  526|                                          4 + intermediate_bits);
#  527|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def10]
dav1d-1.5.2/src/mc_tmpl.c:621:22: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*<unknown>’
dav1d-1.5.2/src/mc_tmpl.c:604:16: branch_false: following ‘false’ branch (when ‘in_y >= y’)...
dav1d-1.5.2/src/mc_tmpl.c:604:16: branch_false: ...to here
dav1d-1.5.2/src/mc_tmpl.c:620:21: branch_true: following ‘true’ branch (when ‘x < w’)...
dav1d-1.5.2/src/mc_tmpl.c:621:22: branch_true: ...to here
dav1d-1.5.2/src/mc_tmpl.c:621:22: danger: use of uninitialized value ‘*<unknown>’ here
#  619|   
#  620|           for (x = 0; x < w; x++)
#  621|->             tmp[x] = FILTER_BILIN_RND2(mid1, mid2, x, dmy >> 6, 4) - PREP_BIAS;
#  622|   
#  623|           my += dy;

Error: CPPCHECK_WARNING (CWE-758): [#def11]
dav1d-1.5.2/src/refmvs.c:188: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  186|       // Round and clip according to AV1 spec section 7.9.3
#  187|       return (union mv) { // 0x3fff == (1 << 14) - 1
#  188|->         .y = iclip((y + 8192 + (y >> 31)) >> 14, -0x3fff, 0x3fff),
#  189|           .x = iclip((x + 8192 + (x >> 31)) >> 14, -0x3fff, 0x3fff)
#  190|       };

Error: CPPCHECK_WARNING (CWE-758): [#def12]
dav1d-1.5.2/src/refmvs.c:189: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  187|       return (union mv) { // 0x3fff == (1 << 14) - 1
#  188|           .y = iclip((y + 8192 + (y >> 31)) >> 14, -0x3fff, 0x3fff),
#  189|->         .x = iclip((x + 8192 + (x >> 31)) >> 14, -0x3fff, 0x3fff)
#  190|       };
#  191|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def13]
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "rb")’
dav1d-1.5.2/tests/libfuzzer/main.c:51:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:55:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:55:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:59:5: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:61:15: acquire_resource: opened here
dav1d-1.5.2/tests/libfuzzer/main.c:61:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: throw: if ‘fseeko’ throws an exception...
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: danger: ‘fopen(filename, "rb")’ leaks here; was opened at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   64|       }
#   65|   
#   66|->     if (fseeko(f, 0, SEEK_END) == -1) {
#   67|           fprintf(stderr, "fseek(%s, 0, SEEK_END) failed: %s\n", filename,
#   68|                   strerror(errno));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def14]
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "rb")’
dav1d-1.5.2/tests/libfuzzer/main.c:51:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:55:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:55:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:59:5: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:61:15: acquire_memory: allocated here
dav1d-1.5.2/tests/libfuzzer/main.c:61:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: throw: if ‘fseeko’ throws an exception...
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: danger: ‘fopen(filename, "rb")’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#   64|       }
#   65|   
#   66|->     if (fseeko(f, 0, SEEK_END) == -1) {
#   67|           fprintf(stderr, "fseek(%s, 0, SEEK_END) failed: %s\n", filename,
#   68|                   strerror(errno));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
dav1d-1.5.2/tests/libfuzzer/main.c:94:11: warning[-Wanalyzer-malloc-leak]: leak of ‘data’
dav1d-1.5.2/tests/libfuzzer/main.c:51:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:55:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:55:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:59:5: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:61:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:66:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:66:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:71:18: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:71:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:75:5: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:77:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:83:18: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:83:18: acquire_memory: allocated here
dav1d-1.5.2/tests/libfuzzer/main.c:83:8: branch_false: following ‘false’ branch (when ‘data’ is non-NULL)...
dav1d-1.5.2/tests/libfuzzer/main.c:88:9: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:88:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tests/libfuzzer/main.c:94:11: branch_false: ...to here
dav1d-1.5.2/tests/libfuzzer/main.c:94:11: throw: if ‘LLVMFuzzerTestOneInput’ throws an exception...
dav1d-1.5.2/tests/libfuzzer/main.c:94:11: danger: ‘data’ leaks here; was allocated at [(13)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/12)
#   92|       }
#   93|   
#   94|->     ret = LLVMFuzzerTestOneInput(data, size);
#   95|   
#   96|   error:

Error: GCC_ANALYZER_WARNING (CWE-775): [#def16]
dav1d-1.5.2/tools/dav1d.c:90:5: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:190:5: enter_function: entry to ‘main’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:16: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:326:13: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:328:17: call_function: calling ‘synchronize’ from ‘main’
#   88|           .tv_nsec = d % 1000000000,
#   89|       };
#   90|->     nanosleep(&ts, NULL);
#   91|   #endif
#   92|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def17]
dav1d-1.5.2/tools/dav1d.c:90:5: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:190:5: enter_function: entry to ‘main’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:16: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:326:13: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:328:17: call_function: calling ‘synchronize’ from ‘main’
#   88|           .tv_nsec = d % 1000000000,
#   89|       };
#   90|->     nanosleep(&ts, NULL);
#   91|   #endif
#   92|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def18]
dav1d-1.5.2/tools/dav1d.c:113:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:190:5: enter_function: entry to ‘main’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:16: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:326:13: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:328:17: call_function: calling ‘synchronize’ from ‘main’
#  111|           const uint64_t frametime = *elapsed - last;
#  112|           fprintf(frametimes, "%" PRIu64 "\n", frametime);
#  113|->         fflush(frametimes);
#  114|       }
#  115|   }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
dav1d-1.5.2/tools/dav1d.c:113:9: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:190:5: enter_function: entry to ‘main’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:16: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:326:13: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:328:17: call_function: calling ‘synchronize’ from ‘main’
#  111|           const uint64_t frametime = *elapsed - last;
#  112|           fprintf(frametimes, "%" PRIu64 "\n", frametime);
#  113|->         fflush(frametimes);
#  114|       }
#  115|   }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def20]
dav1d-1.5.2/tools/dav1d.c:298:20: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:20: throw: if ‘dav1d_send_data’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:298:20: danger: ‘frametimes’ leaks here; was opened at [(10)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/9)
#  296|   
#  297|           memset(&p, 0, sizeof(p));
#  298|->         if ((res = dav1d_send_data(c, &data)) < 0) {
#  299|               if (res != DAV1D_ERR(EAGAIN)) {
#  300|                   dav1d_data_unref(&data);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def21]
dav1d-1.5.2/tools/dav1d.c:298:20: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:20: throw: if ‘dav1d_send_data’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:298:20: danger: ‘frametimes’ leaks here; was allocated at [(10)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/9)
#  296|   
#  297|           memset(&p, 0, sizeof(p));
#  298|->         if ((res = dav1d_send_data(c, &data)) < 0) {
#  299|               if (res != DAV1D_ERR(EAGAIN)) {
#  300|                   dav1d_data_unref(&data);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def22]
dav1d-1.5.2/tools/dav1d.c:300:17: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:300:17: throw: if ‘dav1d_data_unref’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:300:17: danger: ‘frametimes’ leaks here; was opened at [(10)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/9)
#  298|           if ((res = dav1d_send_data(c, &data)) < 0) {
#  299|               if (res != DAV1D_ERR(EAGAIN)) {
#  300|->                 dav1d_data_unref(&data);
#  301|                   fprintf(stderr, "Error decoding frame: %s\n",
#  302|                           strerror(DAV1D_ERR(res)));

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
dav1d-1.5.2/tools/dav1d.c:300:17: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:300:17: throw: if ‘dav1d_data_unref’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:300:17: danger: ‘frametimes’ leaks here; was allocated at [(10)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/9)
#  298|           if ((res = dav1d_send_data(c, &data)) < 0) {
#  299|               if (res != DAV1D_ERR(EAGAIN)) {
#  300|->                 dav1d_data_unref(&data);
#  301|                   fprintf(stderr, "Error decoding frame: %s\n",
#  302|                           strerror(DAV1D_ERR(res)));

Error: GCC_ANALYZER_WARNING (CWE-775): [#def24]
dav1d-1.5.2/tools/dav1d.c:307:20: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:20: throw: if ‘dav1d_get_picture’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:307:20: danger: ‘frametimes’ leaks here; was opened at [(10)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/9)
#  305|           }
#  306|   
#  307|->         if ((res = dav1d_get_picture(c, &p)) < 0) {
#  308|               if (res != DAV1D_ERR(EAGAIN)) {
#  309|                   fprintf(stderr, "Error decoding frame: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
dav1d-1.5.2/tools/dav1d.c:307:20: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:20: throw: if ‘dav1d_get_picture’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:307:20: danger: ‘frametimes’ leaks here; was allocated at [(10)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/9)
#  305|           }
#  306|   
#  307|->         if ((res = dav1d_get_picture(c, &p)) < 0) {
#  308|               if (res != DAV1D_ERR(EAGAIN)) {
#  309|                   fprintf(stderr, "Error decoding frame: %s\n",

Error: GCC_ANALYZER_WARNING (CWE-775): [#def26]
dav1d-1.5.2/tools/dav1d.c:316:28: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:28: throw: if ‘output_open’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:316:28: danger: ‘frametimes’ leaks here; was opened at [(10)](sarif:/runs/0/results/10/codeFlows/0/threadFlows/0/locations/9)
#  314|           } else {
#  315|               if (!n_out) {
#  316|->                 if ((res = output_open(&out, cli_settings.muxer,
#  317|                                          cli_settings.outputfile,
#  318|                                          &p.p, fps)) < 0)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
dav1d-1.5.2/tools/dav1d.c:316:28: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:28: throw: if ‘output_open’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:316:28: danger: ‘frametimes’ leaks here; was allocated at [(10)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/9)
#  314|           } else {
#  315|               if (!n_out) {
#  316|->                 if ((res = output_open(&out, cli_settings.muxer,
#  317|                                          cli_settings.outputfile,
#  318|                                          &p.p, fps)) < 0)

Error: GCC_ANALYZER_WARNING (CWE-775): [#def28]
dav1d-1.5.2/tools/dav1d.c:324:24: warning[-Wanalyzer-file-leak]: leak of FILE ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_resource: opened here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:24: throw: if ‘output_write’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:324:24: danger: ‘frametimes’ leaks here; was opened at [(10)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/9)
#  322|                   }
#  323|               }
#  324|->             if ((res = output_write(out, &p)) < 0)
#  325|                   break;
#  326|               n_out++;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
dav1d-1.5.2/tools/dav1d.c:324:24: warning[-Wanalyzer-malloc-leak]: leak of ‘frametimes’
dav1d-1.5.2/tools/dav1d.c:209:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:219:5: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:225:8: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:262:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:265:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:265:8: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:266:22: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:266:22: acquire_memory: allocated here
dav1d-1.5.2/tools/dav1d.c:295:12: branch_false: following ‘false’ branch (when ‘res == 0’)...
dav1d-1.5.2/tools/dav1d.c:297:9: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:298:12: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:299:16: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/dav1d.c:300:17: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:303:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:307:20: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:307:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:315:16: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:315:16: branch_true: following ‘true’ branch (when ‘n_out == 0’)...
dav1d-1.5.2/tools/dav1d.c:316:28: branch_true: ...to here
dav1d-1.5.2/tools/dav1d.c:316:20: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/dav1d.c:324:24: branch_false: ...to here
dav1d-1.5.2/tools/dav1d.c:324:24: throw: if ‘output_write’ throws an exception...
dav1d-1.5.2/tools/dav1d.c:324:24: danger: ‘frametimes’ leaks here; was allocated at [(10)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/9)
#  322|                   }
#  323|               }
#  324|->             if ((res = output_write(out, &p)) < 0)
#  325|                   break;
#  326|               n_out++;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def30]
dav1d-1.5.2/tools/input/input.c:100:17: warning[-Wanalyzer-malloc-leak]: leak of ‘probe_data’
dav1d-1.5.2/tools/input/input.c:65:8: branch_false: following ‘false’ branch (when ‘name’ is NULL)...
dav1d-1.5.2/tools/input/input.c:65:8: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:78:21: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/input/input.c:79:24: branch_true: ...to here
dav1d-1.5.2/tools/input/input.c:80:37: acquire_memory: allocated here
dav1d-1.5.2/tools/input/input.c:81:12: branch_false: following ‘false’ branch (when ‘probe_data’ is non-NULL)...
dav1d-1.5.2/tools/input/input.c:85:19: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:86:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/input/input.c:91:17: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:93:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/input/input.c:93:12: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:99:21: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/input/input.c:100:17: branch_true: ...to here
dav1d-1.5.2/tools/input/input.c:100:17: throw: if the called function throws an exception...
dav1d-1.5.2/tools/input/input.c:100:17: danger: ‘probe_data’ leaks here; was allocated at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#   98|   
#   99|           for (i = 0; demuxers[i]; i++) {
#  100|->             if (demuxers[i]->probe(probe_data)) {
#  101|                   impl = demuxers[i];
#  102|                   break;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def31]
dav1d-1.5.2/tools/input/input.c:120:16: warning[-Wanalyzer-malloc-leak]: leak of ‘c’
dav1d-1.5.2/tools/input/input.c:66:21: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/input/input.c:67:25: branch_true: ...to here
dav1d-1.5.2/tools/input/input.c:72:12: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/input/input.c:114:63: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:114:15: acquire_memory: allocated here
dav1d-1.5.2/tools/input/input.c:114:8: branch_false: following ‘false’ branch (when ‘c’ is non-NULL)...
dav1d-1.5.2/tools/input/input.c:118:5: branch_false: ...to here
dav1d-1.5.2/tools/input/input.c:120:16: throw: if the called function throws an exception...
dav1d-1.5.2/tools/input/input.c:120:16: danger: ‘c’ leaks here; was allocated at [(5)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/4)
#  118|       c->impl = impl;
#  119|       c->data = (DemuxerPriv *) c->priv_data;
#  120|->     if ((res = impl->open(c->data, filename, fps, num_frames, timebase)) < 0) {
#  121|           free(c);
#  122|           return res;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def32]
dav1d-1.5.2/tools/output/xxhash.c:62:9: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
dav1d-1.5.2/tools/output/xxhash.c:45:12: enter_function: entry to ‘xxh3_open’
dav1d-1.5.2/tools/output/xxhash.c:50:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/output/xxhash.c:51:25: call_function: inlined call to ‘XXH_INLINE_XXH3_128bits_reset’ from ‘xxh3_open’
dav1d-1.5.2/tools/output/xxhash.c:52:8: branch_false: following ‘false’ branch...
dav1d-1.5.2/tools/output/xxhash.c:58:10: branch_false: ...to here
dav1d-1.5.2/tools/output/xxhash.c:58:8: branch_false: following ‘false’ branch (when the strings are non-equal)...
dav1d-1.5.2/tools/output/xxhash.c:60:28: branch_false: ...to here
dav1d-1.5.2/tools/output/xxhash.c:60:15: branch_true: following ‘true’ branch...
dav1d-1.5.2/tools/output/xxhash.c:61:9: branch_true: ...to here
dav1d-1.5.2/tools/output/xxhash.c:62:9: danger: ‘<unknown>’ leaks here
#   60|       } else if (!(xxh3->f = fopen(file, "wb"))) {
#   61|           XXH3_freeState(xxh3->state);
#   62|->         xxh3->state = NULL;
#   63|           fprintf(stderr, "Failed to open %s: %s\n", file, strerror(errno));
#   64|           return -1;

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-225.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namedav1d-1.5.2-1.fc44
store-results-to/tmp/tmp91mrq4c_/dav1d-1.5.2-1.fc44.tar.xz
time-created2026-01-08 16:02:18
time-finished2026-01-08 16:04:43
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp91mrq4c_/dav1d-1.5.2-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp91mrq4c_/dav1d-1.5.2-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9