drpm-0.5.3-1.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
drpm-0.5.3/src/drpm.c:369:22: warning[-Wanalyzer-malloc-leak]: leak of ‘delta.sequence’
drpm-0.5.3/src/drpm.c:323:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:326:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:329:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:334:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:337:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:347:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:353:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:353:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:357:8: branch_true: ...to here
drpm-0.5.3/src/drpm.c:357:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:362:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:362:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:363:35: branch_true: ...to here
drpm-0.5.3/src/drpm.c:363:35: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:363:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:367:13: branch_false: ...to here
drpm-0.5.3/src/drpm.c:369:22: throw: if ‘rpm_read’ throws an exception...
drpm-0.5.3/src/drpm.c:369:22: danger: ‘delta.sequence’ leaks here; was allocated at [(15)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/14)
#  367|               delta.sequence_len = MD5_DIGEST_LENGTH;
#  368|           }
#  369|->         if ((error = rpm_read(&old_rpm, old_rpm_name, RPM_ARCHIVE_READ_DECOMP,
#  370|                                 NULL, rpm_only ? delta.sequence : NULL, NULL)) != DRPM_ERR_OK ||
#  371|               (error = rpm_read(&new_rpm, new_rpm_name, RPM_ARCHIVE_READ_DECOMP,

Error: GCC_ANALYZER_WARNING (CWE-401): [#def2]
drpm-0.5.3/src/drpm.c:451:18: warning[-Wanalyzer-malloc-leak]: leak of ‘new_cpio’
drpm-0.5.3/src/drpm.c:323:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:326:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:329:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:334:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:337:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:347:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:353:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:353:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:357:8: branch_true: ...to here
drpm-0.5.3/src/drpm.c:357:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:362:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:362:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:363:35: branch_true: ...to here
drpm-0.5.3/src/drpm.c:363:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:367:13: branch_false: ...to here
drpm-0.5.3/src/drpm.c:369:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:371:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:369:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:377:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:377:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:379:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:379:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:385:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:385:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:389:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:394:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:398:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:398:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:398:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:398:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:398:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:398:9: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:399:31: branch_true: ...to here
drpm-0.5.3/src/drpm.c:399:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:402:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:402:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:405:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:405:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:405:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:405:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:409:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:409:22: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:409:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:412:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:414:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:414:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:415:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:416:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:417:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:420:29: branch_false: ...to here
drpm-0.5.3/src/drpm.c:420:12: branch_false: following ‘false’ branch (when ‘old_cpio_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm.c:421:29: branch_false: ...to here
drpm-0.5.3/src/drpm.c:420:13: branch_false: following ‘false’ branch (when ‘new_cpio_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm.c:425:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:450:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:451:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:451:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:451:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:451:18: throw: if ‘rpm_find_payload_format_offset’ throws an exception...
drpm-0.5.3/src/drpm.c:451:18: danger: ‘new_cpio’ leaks here; was allocated at [(58)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/57)
#  449|       /* patching and storing offset of payload format tag in header for compatibility with deltarpm */
#  450|       if ((!rpm_only && (error = rpm_patch_payload_format(delta.head.tgt_rpm, "drpm")) != DRPM_ERR_OK) ||
#  451|->         (error = rpm_find_payload_format_offset(alone ? solo_rpm : new_rpm, &delta.payload_fmt_off)) != DRPM_ERR_OK)
#  452|           goto cleanup;
#  453|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def3]
drpm-0.5.3/src/drpm.c:451:18: warning[-Wanalyzer-malloc-leak]: leak of ‘old_cpio’
drpm-0.5.3/src/drpm.c:323:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:326:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:329:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:334:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:337:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:347:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:353:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:353:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:357:8: branch_true: ...to here
drpm-0.5.3/src/drpm.c:357:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:362:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:362:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:363:35: branch_true: ...to here
drpm-0.5.3/src/drpm.c:363:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:367:13: branch_false: ...to here
drpm-0.5.3/src/drpm.c:369:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:371:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:369:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:377:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:377:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:379:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:379:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:385:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:385:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:389:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:394:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:398:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:398:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:398:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:398:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:398:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:398:9: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:399:31: branch_true: ...to here
drpm-0.5.3/src/drpm.c:399:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:402:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:402:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:405:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:405:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:405:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:405:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:409:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:409:22: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:409:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:412:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:414:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:414:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:415:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:416:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:417:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:414:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:420:29: branch_false: ...to here
drpm-0.5.3/src/drpm.c:420:12: branch_false: following ‘false’ branch (when ‘old_cpio_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm.c:421:29: branch_false: ...to here
drpm-0.5.3/src/drpm.c:420:13: branch_false: following ‘false’ branch (when ‘new_cpio_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm.c:425:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:450:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:451:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:451:18: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:451:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:451:18: throw: if ‘rpm_find_payload_format_offset’ throws an exception...
drpm-0.5.3/src/drpm.c:451:18: danger: ‘old_cpio’ leaks here; was allocated at [(55)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/54)
#  449|       /* patching and storing offset of payload format tag in header for compatibility with deltarpm */
#  450|       if ((!rpm_only && (error = rpm_patch_payload_format(delta.head.tgt_rpm, "drpm")) != DRPM_ERR_OK) ||
#  451|->         (error = rpm_find_payload_format_offset(alone ? solo_rpm : new_rpm, &delta.payload_fmt_off)) != DRPM_ERR_OK)
#  452|           goto cleanup;
#  453|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def4]
drpm-0.5.3/src/drpm.c:549:18: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(new_rpm_name, 438)’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:21: acquire_resource: opened here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:18: throw: if ‘read_deltarpm’ throws an exception...
drpm-0.5.3/src/drpm.c:549:18: danger: ‘creat(new_rpm_name, 438)’ leaks here; was opened at [(3)](sarif:/runs/0/results/8/codeFlows/0/threadFlows/0/locations/2)
#  547|   
#  548|       /* reading DeltaRPM */
#  549|->     if ((error = read_deltarpm(&delta, deltarpm_name)) != DRPM_ERR_OK)
#  550|           goto cleanup;
#  551|       rpm_only = (delta.type == DRPM_TYPE_RPMONLY);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def5]
drpm-0.5.3/src/drpm.c:551:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(new_rpm_name, 438)’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:21: acquire_resource: opened here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:554:8: branch_false: following ‘false’ branch (when ‘old_rpm_name’ is NULL)...
drpm-0.5.3/src/drpm.c:573:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:551:17: danger: ‘creat(new_rpm_name, 438)’ leaks here; was opened at [(3)](sarif:/runs/0/results/9/codeFlows/0/threadFlows/0/locations/2)
#  549|       if ((error = read_deltarpm(&delta, deltarpm_name)) != DRPM_ERR_OK)
#  550|           goto cleanup;
#  551|->     rpm_only = (delta.type == DRPM_TYPE_RPMONLY);
#  552|       no_full_md5 = (memcmp(empty_md5, delta.tgt_md5, MD5_DIGEST_LENGTH) == 0);
#  553|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def6]
drpm-0.5.3/src/drpm.c:633:19: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: throw: if ‘block_size’ throws an exception...
drpm-0.5.3/src/drpm.c:633:19: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/32)
#  631|       }
#  632|   
#  633|->     if ((buffer = malloc(block_size())) == NULL) {
#  634|           error = DRPM_ERR_MEMORY;
#  635|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def7]
drpm-0.5.3/src/drpm.c: scope_hint: In function ‘drpm_apply’
drpm-0.5.3/src/drpm.c:638:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  638 |     if (MD5_Init(&md5) != 1) {
#      |     ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
drpm-0.5.3/src/drpm.c:23: included_from: Included from here.
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  636|       }
#  637|   
#  638|->     if (MD5_Init(&md5) != 1) {
#  639|           error = DRPM_ERR_OTHER;
#  640|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def8]
drpm-0.5.3/src/drpm.c:638:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  636|       }
#  637|   
#  638|->     if (MD5_Init(&md5) != 1) {
#  639|           error = DRPM_ERR_OTHER;
#  640|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def9]
drpm-0.5.3/src/drpm.c:638:9: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:9: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm.c:638:9: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/32)
#  636|       }
#  637|   
#  638|->     if (MD5_Init(&md5) != 1) {
#  639|           error = DRPM_ERR_OTHER;
#  640|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def10]
drpm-0.5.3/src/drpm.c:638:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:9: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm.c:638:9: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/30)
#  636|       }
#  637|   
#  638|->     if (MD5_Init(&md5) != 1) {
#  639|           error = DRPM_ERR_OTHER;
#  640|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def11]
drpm-0.5.3/src/drpm.c:644:9: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:9: throw: if ‘write’ throws an exception...
drpm-0.5.3/src/drpm.c:644:9: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/32)
#  642|   
#  643|       /* writing lead and signature of new RPM */
#  644|->     if (write(filedesc, delta.tgt_leadsig, delta.tgt_leadsig_len) != (ssize_t)delta.tgt_leadsig_len) {
#  645|           error = DRPM_ERR_IO;
#  646|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def12]
drpm-0.5.3/src/drpm.c:644:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:9: throw: if ‘write’ throws an exception...
drpm-0.5.3/src/drpm.c:644:9: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/30)
#  642|   
#  643|       /* writing lead and signature of new RPM */
#  644|->     if (write(filedesc, delta.tgt_leadsig, delta.tgt_leadsig_len) != (ssize_t)delta.tgt_leadsig_len) {
#  645|           error = DRPM_ERR_IO;
#  646|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def13]
drpm-0.5.3/src/drpm.c:648:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  648 |     if (!no_full_md5 && MD5_Update(&md5, delta.tgt_leadsig, delta.tgt_leadsig_len) != 1) {
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  646|           goto cleanup;
#  647|       }
#  648|->     if (!no_full_md5 && MD5_Update(&md5, delta.tgt_leadsig, delta.tgt_leadsig_len) != 1) {
#  649|           error = DRPM_ERR_OTHER;
#  650|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def14]
drpm-0.5.3/src/drpm.c:648:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  646|           goto cleanup;
#  647|       }
#  648|->     if (!no_full_md5 && MD5_Update(&md5, delta.tgt_leadsig, delta.tgt_leadsig_len) != 1) {
#  649|           error = DRPM_ERR_OTHER;
#  650|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def15]
drpm-0.5.3/src/drpm.c:648:25: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:648:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:648:25: branch_true: ...to here
drpm-0.5.3/src/drpm.c:648:25: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm.c:648:25: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/36/codeFlows/0/threadFlows/0/locations/32)
#  646|           goto cleanup;
#  647|       }
#  648|->     if (!no_full_md5 && MD5_Update(&md5, delta.tgt_leadsig, delta.tgt_leadsig_len) != 1) {
#  649|           error = DRPM_ERR_OTHER;
#  650|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def16]
drpm-0.5.3/src/drpm.c:648:25: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:648:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:648:25: branch_true: ...to here
drpm-0.5.3/src/drpm.c:648:25: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm.c:648:25: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/30)
#  646|           goto cleanup;
#  647|       }
#  648|->     if (!no_full_md5 && MD5_Update(&md5, delta.tgt_leadsig, delta.tgt_leadsig_len) != 1) {
#  649|           error = DRPM_ERR_OTHER;
#  650|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def17]
drpm-0.5.3/src/drpm.c:662:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  662 |         if (MD5_Update(&md5, header, header_size) != 1) {
#      |         ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  660|               goto cleanup;
#  661|           }
#  662|->         if (MD5_Update(&md5, header, header_size) != 1) {
#  663|               error = DRPM_ERR_OTHER;
#  664|               goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def18]
drpm-0.5.3/src/drpm.c:662:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  660|               goto cleanup;
#  661|           }
#  662|->         if (MD5_Update(&md5, header, header_size) != 1) {
#  663|               error = DRPM_ERR_OTHER;
#  664|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def19]
drpm-0.5.3/src/drpm.c:669:18: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:18: throw: if ‘compstrm_wrapper_init’ throws an exception...
drpm-0.5.3/src/drpm.c:669:18: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/32)
#  667|   
#  668|       /* compression stream wrapper, makes sure header is uncompressed if included */
#  669|->     if ((error = compstrm_wrapper_init(&csw, delta.tgt_header_len,
#  670|                                          filedesc, delta.tgt_comp, delta.tgt_comp_level)) != DRPM_ERR_OK)
#  671|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def20]
drpm-0.5.3/src/drpm.c:669:18: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:18: throw: if ‘compstrm_wrapper_init’ throws an exception...
drpm-0.5.3/src/drpm.c:669:18: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/30)
#  667|   
#  668|       /* compression stream wrapper, makes sure header is uncompressed if included */
#  669|->     if ((error = compstrm_wrapper_init(&csw, delta.tgt_header_len,
#  670|                                          filedesc, delta.tgt_comp, delta.tgt_comp_level)) != DRPM_ERR_OK)
#  671|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def21]
drpm-0.5.3/src/drpm.c:693:22: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_false: following ‘false’ branch (when ‘ext_copies_todo == 0’)...
drpm-0.5.3/src/drpm.c:721:25: branch_false: ...to here
drpm-0.5.3/src/drpm.c:724:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:726:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_true: following ‘true’ branch (when ‘ext_copies_todo != 0’)...
drpm-0.5.3/src/drpm.c:690:36: branch_true: ...to here
drpm-0.5.3/src/drpm.c:693:22: throw: if ‘block_id’ throws an exception...
drpm-0.5.3/src/drpm.c:693:22: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/32)
#  691|               ext_copy_len = *ext_copies++; // length of external copy
#  692|               ext_copies_count--;
#  693|->             blk_id = block_id(ext_offset);
#  694|   
#  695|               /* performing external copy */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def22]
drpm-0.5.3/src/drpm.c:693:22: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_true: following ‘true’ branch (when ‘ext_copies_todo != 0’)...
drpm-0.5.3/src/drpm.c:690:36: branch_true: ...to here
drpm-0.5.3/src/drpm.c:693:22: throw: if ‘block_id’ throws an exception...
drpm-0.5.3/src/drpm.c:693:22: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/30)
#  691|               ext_copy_len = *ext_copies++; // length of external copy
#  692|               ext_copies_count--;
#  693|->             blk_id = block_id(ext_offset);
#  694|   
#  695|               /* performing external copy */

Error: GCC_ANALYZER_WARNING (CWE-401): [#def23]
drpm-0.5.3/src/drpm.c:697:30: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_false: following ‘false’ branch (when ‘ext_copies_todo == 0’)...
drpm-0.5.3/src/drpm.c:721:25: branch_false: ...to here
drpm-0.5.3/src/drpm.c:724:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:726:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_true: following ‘true’ branch (when ‘ext_copies_todo != 0’)...
drpm-0.5.3/src/drpm.c:690:36: branch_true: ...to here
drpm-0.5.3/src/drpm.c:696:20: branch_true: following ‘true’ branch (when ‘ext_copy_len != 0’)...
drpm-0.5.3/src/drpm.c:697:30: branch_true: ...to here
drpm-0.5.3/src/drpm.c:697:30: throw: if ‘blocks_next’ throws an exception...
drpm-0.5.3/src/drpm.c:697:30: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/32)
#  695|               /* performing external copy */
#  696|               while (ext_copy_len > 0) {
#  697|->                 if ((error = blocks_next(blks, buffer, &buffer_len,
#  698|                                            ext_offset, ext_copy_len,
#  699|                                            ext_copies_done, blk_id)) != DRPM_ERR_OK)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def24]
drpm-0.5.3/src/drpm.c:697:30: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:696:20: branch_true: following ‘true’ branch (when ‘ext_copy_len != 0’)...
drpm-0.5.3/src/drpm.c:697:30: branch_true: ...to here
drpm-0.5.3/src/drpm.c:697:30: throw: if ‘blocks_next’ throws an exception...
drpm-0.5.3/src/drpm.c:697:30: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/30)
#  695|               /* performing external copy */
#  696|               while (ext_copy_len > 0) {
#  697|->                 if ((error = blocks_next(blks, buffer, &buffer_len,
#  698|                                            ext_offset, ext_copy_len,
#  699|                                            ext_copies_done, blk_id)) != DRPM_ERR_OK)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def25]
drpm-0.5.3/src/drpm.c:704:34: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_false: following ‘false’ branch (when ‘ext_copies_todo == 0’)...
drpm-0.5.3/src/drpm.c:721:25: branch_false: ...to here
drpm-0.5.3/src/drpm.c:724:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:726:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_true: following ‘true’ branch (when ‘ext_copies_todo != 0’)...
drpm-0.5.3/src/drpm.c:690:36: branch_true: ...to here
drpm-0.5.3/src/drpm.c:696:20: branch_true: following ‘true’ branch (when ‘ext_copy_len != 0’)...
drpm-0.5.3/src/drpm.c:697:30: branch_true: ...to here
drpm-0.5.3/src/drpm.c:697:20: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:703:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:703:20: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:704:34: branch_true: ...to here
drpm-0.5.3/src/drpm.c:704:34: throw: if ‘decompstrm_read’ throws an exception...
drpm-0.5.3/src/drpm.c:704:34: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/32)
#  702|                   /* applying add block */
#  703|                   if (delta.add_data_len > 0) {
#  704|->                     if ((error = decompstrm_read(addblk_strm, buffer_len, addblk_buf)) != DRPM_ERR_OK)
#  705|                           goto cleanup;
#  706|                       for (size_t i = 0; i < buffer_len; i++)

Error: GCC_ANALYZER_WARNING (CWE-476): [#def26]
drpm-0.5.3/src/drpm.c:707:51: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘header’
drpm-0.5.3/src/drpm.c:525:20: release_memory: ‘header’ is NULL
drpm-0.5.3/src/drpm.c:539:20: release_memory: ‘header’ is NULL
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:696:20: branch_true: following ‘true’ branch (when ‘ext_copy_len != 0’)...
drpm-0.5.3/src/drpm.c:697:30: branch_true: ...to here
drpm-0.5.3/src/drpm.c:697:20: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:703:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:703:20: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:704:34: branch_true: ...to here
drpm-0.5.3/src/drpm.c:704:24: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:704:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:706:40: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:707:25: branch_true: ...to here
drpm-0.5.3/src/drpm.c:707:61: release_memory: ‘header’ is NULL
drpm-0.5.3/src/drpm.c:707:51: danger: dereference of NULL ‘addblk_buf + i’
#  705|                           goto cleanup;
#  706|                       for (size_t i = 0; i < buffer_len; i++)
#  707|->                         buffer[i] += (signed char)addblk_buf[i];
#  708|                   }
#  709|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def27]
drpm-0.5.3/src/drpm.c:724:22: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_false: following ‘false’ branch (when ‘ext_copies_todo == 0’)...
drpm-0.5.3/src/drpm.c:721:25: branch_false: ...to here
drpm-0.5.3/src/drpm.c:724:22: throw: if ‘compstrm_wrapper_write’ throws an exception...
drpm-0.5.3/src/drpm.c:724:22: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/46/codeFlows/0/threadFlows/0/locations/32)
#  722|   
#  723|           /* performing internal copy */
#  724|->         if ((error = compstrm_wrapper_write(csw, int_data, int_copy_len)) != DRPM_ERR_OK)
#  725|               goto cleanup;
#  726|           int_data += int_copy_len;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def28]
drpm-0.5.3/src/drpm.c:724:22: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:681:12: branch_true: following ‘true’ branch (when ‘int_copies_count != 0’)...
drpm-0.5.3/src/drpm.c:682:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:683:12: branch_false: following ‘false’ branch (when ‘ext_copies_count >= ext_copies_todo’)...
drpm-0.5.3/src/drpm.c:683:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:689:16: branch_false: following ‘false’ branch (when ‘ext_copies_todo == 0’)...
drpm-0.5.3/src/drpm.c:721:25: branch_false: ...to here
drpm-0.5.3/src/drpm.c:724:22: throw: if ‘compstrm_wrapper_write’ throws an exception...
drpm-0.5.3/src/drpm.c:724:22: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/30)
#  722|   
#  723|           /* performing internal copy */
#  724|->         if ((error = compstrm_wrapper_write(csw, int_data, int_copy_len)) != DRPM_ERR_OK)
#  725|               goto cleanup;
#  726|           int_data += int_copy_len;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def29]
drpm-0.5.3/src/drpm.c:729:18: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:18: throw: if ‘compstrm_wrapper_finish’ throws an exception...
drpm-0.5.3/src/drpm.c:729:18: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/48/codeFlows/0/threadFlows/0/locations/32)
#  727|       }
#  728|   
#  729|->     if ((error = compstrm_wrapper_finish(csw, &comp_data, &comp_data_len)) != DRPM_ERR_OK)
#  730|           goto cleanup;
#  731|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def30]
drpm-0.5.3/src/drpm.c:729:18: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:18: throw: if ‘compstrm_wrapper_finish’ throws an exception...
drpm-0.5.3/src/drpm.c:729:18: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/47/codeFlows/0/threadFlows/0/locations/30)
#  727|       }
#  728|   
#  729|->     if ((error = compstrm_wrapper_finish(csw, &comp_data, &comp_data_len)) != DRPM_ERR_OK)
#  730|           goto cleanup;
#  731|   

Error: COMPILER_WARNING (CWE-477): [#def31]
drpm-0.5.3/src/drpm.c:733:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  733 |     if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  731|   
#  732|       /* finalizing MD5 of written data */
#  733|->     if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|           MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def32]
drpm-0.5.3/src/drpm.c:733:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  731|   
#  732|       /* finalizing MD5 of written data */
#  733|->     if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|           MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def33]
drpm-0.5.3/src/drpm.c:733:9: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:9: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm.c:733:9: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/50/codeFlows/0/threadFlows/0/locations/32)
#  731|   
#  732|       /* finalizing MD5 of written data */
#  733|->     if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|           MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def34]
drpm-0.5.3/src/drpm.c:733:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:9: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm.c:733:9: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/49/codeFlows/0/threadFlows/0/locations/30)
#  731|   
#  732|       /* finalizing MD5 of written data */
#  733|->     if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|           MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def35]
drpm-0.5.3/src/drpm.c:734:9: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:734:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:734:9: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm.c:734:9: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/32)
#  732|       /* finalizing MD5 of written data */
#  733|       if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|->         MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;
#  736|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def36]
drpm-0.5.3/src/drpm.c:734:9: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:734:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:734:9: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm.c:734:9: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/30)
#  732|       /* finalizing MD5 of written data */
#  733|       if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|->         MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;
#  736|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def37]
drpm-0.5.3/src/drpm.c:734:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  734 |         MD5_Final(md5_digest, &md5) != 1) {
#      |         ^~~~~~~~~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  732|       /* finalizing MD5 of written data */
#  733|       if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|->         MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;
#  736|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def38]
drpm-0.5.3/src/drpm.c:734:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  732|       /* finalizing MD5 of written data */
#  733|       if (MD5_Update(&md5, comp_data, comp_data_len) != 1 ||
#  734|->         MD5_Final(md5_digest, &md5) != 1) {
#  735|           error = DRPM_ERR_OTHER;
#  736|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def39]
drpm-0.5.3/src/drpm.c:743:22: warning[-Wanalyzer-malloc-leak]: leak of ‘addblk_buf’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:625:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:625:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:627:27: branch_false: ...to here
drpm-0.5.3/src/drpm.c:627:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:627:12: branch_false: following ‘false’ branch (when ‘addblk_buf’ is non-NULL)...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:734:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:739:1: branch_false: ...to here
drpm-0.5.3/src/drpm.c:741:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:743:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:743:22: throw: if ‘rpm_signature_get_md5’ throws an exception...
drpm-0.5.3/src/drpm.c:743:22: danger: ‘addblk_buf’ leaks here; was allocated at [(33)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/32)
#  741|       if (no_full_md5) {
#  742|       /* no target MD5 -> only match checksums of header and archive */
#  743|->         if ((error = rpm_signature_get_md5(patched_rpm, newsig_md5, &has_md5)) != DRPM_ERR_OK)
#  744|               goto cleanup;
#  745|           if (has_md5 && memcmp(md5_digest, newsig_md5, MD5_DIGEST_LENGTH) != 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def40]
drpm-0.5.3/src/drpm.c:743:22: warning[-Wanalyzer-malloc-leak]: leak of ‘buffer’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:551:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:556:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:558:12: branch_false: ...to here
drpm-0.5.3/src/drpm.c:560:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:562:17: branch_false: ...to here
drpm-0.5.3/src/drpm.c:562:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:566:24: branch_true: ...to here
drpm-0.5.3/src/drpm.c:566:16: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:584:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:584:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:586:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:586:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:591:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:591:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:603:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:604:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:607:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:607:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:607:21: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:18: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:617:18: branch_true: ...to here
drpm-0.5.3/src/drpm.c:617:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:624:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:624:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:633:19: branch_false: ...to here
drpm-0.5.3/src/drpm.c:633:19: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:633:8: branch_false: following ‘false’ branch (when ‘buffer’ is non-NULL)...
drpm-0.5.3/src/drpm.c:638:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:638:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:644:44: branch_false: ...to here
drpm-0.5.3/src/drpm.c:644:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:648:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:653:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:670:66: branch_false: ...to here
drpm-0.5.3/src/drpm.c:669:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:675:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:729:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:733:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:734:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:733:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:739:1: branch_false: ...to here
drpm-0.5.3/src/drpm.c:741:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:743:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:743:22: throw: if ‘rpm_signature_get_md5’ throws an exception...
drpm-0.5.3/src/drpm.c:743:22: danger: ‘buffer’ leaks here; was allocated at [(31)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/30)
#  741|       if (no_full_md5) {
#  742|       /* no target MD5 -> only match checksums of header and archive */
#  743|->         if ((error = rpm_signature_get_md5(patched_rpm, newsig_md5, &has_md5)) != DRPM_ERR_OK)
#  744|               goto cleanup;
#  745|           if (has_md5 && memcmp(md5_digest, newsig_md5, MD5_DIGEST_LENGTH) != 0) {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def41]
drpm-0.5.3/src/drpm.c:759:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(new_rpm_name, 438)’
drpm-0.5.3/src/drpm.c:542:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:545:21: branch_false: ...to here
drpm-0.5.3/src/drpm.c:545:21: acquire_resource: opened here
drpm-0.5.3/src/drpm.c:545:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:549:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:549:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm.c:550:9: branch_true: ...to here
drpm-0.5.3/src/drpm.c:759:5: danger: ‘creat(new_rpm_name, 438)’ leaks here; was opened at [(3)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/2)
#  757|   cleanup:
#  758|   
#  759|->     close(filedesc);
#  760|   
#  761|       for (size_t i = 0; i < file_count; i++) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def42]
drpm-0.5.3/src/drpm.c:879:9: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:9: throw: if ‘parse_hex’ throws an exception...
drpm-0.5.3/src/drpm.c:879:9: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/56/codeFlows/0/threadFlows/0/locations/8)
#  877|       strncpy(nevr, sequence, nevr_len);
#  878|       nevr[nevr_len] = '\0';
#  879|->     if (parse_hex(seq, ptr) != (ssize_t)seq_len) {
#  880|           error = DRPM_ERR_FORMAT;
#  881|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def43]
drpm-0.5.3/src/drpm.c:879:9: warning[-Wanalyzer-malloc-leak]: leak of ‘seq’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:873:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:9: throw: if ‘parse_hex’ throws an exception...
drpm-0.5.3/src/drpm.c:879:9: danger: ‘seq’ leaks here; was allocated at [(11)](sarif:/runs/0/results/57/codeFlows/0/threadFlows/0/locations/10)
#  877|       strncpy(nevr, sequence, nevr_len);
#  878|       nevr[nevr_len] = '\0';
#  879|->     if (parse_hex(seq, ptr) != (ssize_t)seq_len) {
#  880|           error = DRPM_ERR_FORMAT;
#  881|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def44]
drpm-0.5.3/src/drpm.c:886:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:884:8: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is NULL)...
drpm-0.5.3/src/drpm.c:886:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:886:22: throw: if ‘rpm_read_header’ throws an exception...
drpm-0.5.3/src/drpm.c:886:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/58/codeFlows/0/threadFlows/0/locations/8)
#  884|       if (old_rpm_name == NULL) {
#  885|           /* reading header from database */
#  886|->         if ((error = rpm_read_header(&old_rpm, nevr, NULL)) != DRPM_ERR_OK)
#  887|               goto cleanup;
#  888|           rpm_only = false;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def45]
drpm-0.5.3/src/drpm.c:891:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:884:8: branch_false: following ‘false’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:891:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:891:22: throw: if ‘rpm_read’ throws an exception...
drpm-0.5.3/src/drpm.c:891:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/59/codeFlows/0/threadFlows/0/locations/8)
#  889|       } else {
#  890|           /* reading old RPM */
#  891|->         if ((error = rpm_read(&old_rpm, old_rpm_name, RPM_ARCHIVE_DONT_READ, NULL, NULL, NULL)) != DRPM_ERR_OK ||
#  892|               (error = rpm_signature_get_md5(old_rpm, sigmd5, &has_md5)) != DRPM_ERR_OK)
#  893|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def46]
drpm-0.5.3/src/drpm.c:892:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:884:8: branch_false: following ‘false’ branch (when ‘old_rpm_name’ is non-NULL)...
drpm-0.5.3/src/drpm.c:891:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:891:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:892:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:892:22: throw: if ‘rpm_signature_get_md5’ throws an exception...
drpm-0.5.3/src/drpm.c:892:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/60/codeFlows/0/threadFlows/0/locations/8)
#  890|           /* reading old RPM */
#  891|           if ((error = rpm_read(&old_rpm, old_rpm_name, RPM_ARCHIVE_DONT_READ, NULL, NULL, NULL)) != DRPM_ERR_OK ||
#  892|->             (error = rpm_signature_get_md5(old_rpm, sigmd5, &has_md5)) != DRPM_ERR_OK)
#  893|               goto cleanup;
#  894|           // determining type of delta

Error: GCC_ANALYZER_WARNING (CWE-401): [#def47]
drpm-0.5.3/src/drpm.c:899:18: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:884:8: branch_true: following ‘true’ branch (when ‘old_rpm_name’ is NULL)...
drpm-0.5.3/src/drpm.c:886:22: branch_true: ...to here
drpm-0.5.3/src/drpm.c:886:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:899:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:899:18: throw: if ‘rpm_get_nevr’ throws an exception...
drpm-0.5.3/src/drpm.c:899:18: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/61/codeFlows/0/threadFlows/0/locations/8)
#  897|   
#  898|       /* checking NEVRs */
#  899|->     if ((error = rpm_get_nevr(old_rpm, &old_rpm_nevr)) != DRPM_ERR_OK)
#  900|           goto cleanup;
#  901|       if (strcmp(nevr, old_rpm_nevr) != 0) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def48]
drpm-0.5.3/src/drpm.c:908:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:886:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:899:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:899:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:901:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:901:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:906:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:906:8: branch_false: following ‘false’ branch (when ‘rpm_only == 0’)...
drpm-0.5.3/src/drpm.c:908:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:908:22: throw: if ‘rpm_get_file_info’ throws an exception...
drpm-0.5.3/src/drpm.c:908:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/62/codeFlows/0/threadFlows/0/locations/8)
#  906|       if (!rpm_only) {
#  907|           /* expanding sequence, checking files */
#  908|->         if ((error = rpm_get_file_info(old_rpm, &files, &file_count, NULL)) != DRPM_ERR_OK ||
#  909|               (error = rpm_get_digest_algo(old_rpm, &digest_algo)) != DRPM_ERR_OK ||
#  910|               (error = expand_sequence(NULL, NULL, seq, seq_len, files, file_count, digest_algo, check_mode)) != DRPM_ERR_OK)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def49]
drpm-0.5.3/src/drpm.c:909:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:886:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:899:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:899:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:901:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:901:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:906:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:906:8: branch_false: following ‘false’ branch (when ‘rpm_only == 0’)...
drpm-0.5.3/src/drpm.c:908:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:908:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:909:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:909:22: throw: if ‘rpm_get_digest_algo’ throws an exception...
drpm-0.5.3/src/drpm.c:909:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/63/codeFlows/0/threadFlows/0/locations/8)
#  907|           /* expanding sequence, checking files */
#  908|           if ((error = rpm_get_file_info(old_rpm, &files, &file_count, NULL)) != DRPM_ERR_OK ||
#  909|->             (error = rpm_get_digest_algo(old_rpm, &digest_algo)) != DRPM_ERR_OK ||
#  910|               (error = expand_sequence(NULL, NULL, seq, seq_len, files, file_count, digest_algo, check_mode)) != DRPM_ERR_OK)
#  911|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def50]
drpm-0.5.3/src/drpm.c:910:22: warning[-Wanalyzer-malloc-leak]: leak of ‘nevr’
drpm-0.5.3/src/drpm.c:854:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm.c:855:10: branch_false: ...to here
drpm-0.5.3/src/drpm.c:854:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:863:11: branch_false: ...to here
drpm-0.5.3/src/drpm.c:864:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:866:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:868:8: branch_false: following ‘false’ branch (when ‘seq_len > 15’)...
drpm-0.5.3/src/drpm.c:872:24: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm.c:872:8: branch_false: following ‘false’ branch (when ‘nevr’ is non-NULL)...
drpm-0.5.3/src/drpm.c:873:16: branch_false: ...to here
drpm-0.5.3/src/drpm.c:872:9: branch_false: following ‘false’ branch (when ‘seq’ is non-NULL)...
drpm-0.5.3/src/drpm.c:877:5: branch_false: ...to here
drpm-0.5.3/src/drpm.c:879:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:884:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:886:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:899:18: branch_false: ...to here
drpm-0.5.3/src/drpm.c:899:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:901:9: branch_false: ...to here
drpm-0.5.3/src/drpm.c:901:8: branch_false: following ‘false’ branch (when the strings are equal)...
drpm-0.5.3/src/drpm.c:906:8: branch_false: ...to here
drpm-0.5.3/src/drpm.c:906:8: branch_false: following ‘false’ branch (when ‘rpm_only == 0’)...
drpm-0.5.3/src/drpm.c:908:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:908:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:909:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:908:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm.c:910:22: branch_false: ...to here
drpm-0.5.3/src/drpm.c:910:22: throw: if ‘expand_sequence’ throws an exception...
drpm-0.5.3/src/drpm.c:910:22: danger: ‘nevr’ leaks here; was allocated at [(9)](sarif:/runs/0/results/64/codeFlows/0/threadFlows/0/locations/8)
#  908|           if ((error = rpm_get_file_info(old_rpm, &files, &file_count, NULL)) != DRPM_ERR_OK ||
#  909|               (error = rpm_get_digest_algo(old_rpm, &digest_algo)) != DRPM_ERR_OK ||
#  910|->             (error = expand_sequence(NULL, NULL, seq, seq_len, files, file_count, digest_algo, check_mode)) != DRPM_ERR_OK)
#  911|               goto cleanup;
#  912|       }

Error: COMPILER_WARNING (CWE-477): [#def51]
drpm-0.5.3/src/drpm_apply.c: scope_hint: In function ‘expand_sequence’
drpm-0.5.3/src/drpm_apply.c:168:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  168 |     if (MD5_Init(&seq_md5) != 1) {
#      |     ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
drpm-0.5.3/src/drpm_apply.c:23: included_from: Included from here.
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  166|       }
#  167|   
#  168|->     if (MD5_Init(&seq_md5) != 1) {
#  169|           error = DRPM_ERR_OTHER;
#  170|           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def52]
drpm-0.5.3/src/drpm_apply.c:168:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  166|       }
#  167|   
#  168|->     if (MD5_Init(&seq_md5) != 1) {
#  169|           error = DRPM_ERR_OTHER;
#  170|           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def53]
drpm-0.5.3/src/drpm_apply.c:195:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  195 |         if (MD5_Update(&seq_md5, filename, strlen(filename) + 1) != 1 ||
#      |         ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  193|               filename++;
#  194|   
#  195|->         if (MD5_Update(&seq_md5, filename, strlen(filename) + 1) != 1 ||
#  196|               md5_update_be32(&seq_md5, files[i].mode) != 1 ||
#  197|               md5_update_be32(&seq_md5, filesize) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def54]
drpm-0.5.3/src/drpm_apply.c:195:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  193|               filename++;
#  194|   
#  195|->         if (MD5_Update(&seq_md5, filename, strlen(filename) + 1) != 1 ||
#  196|               md5_update_be32(&seq_md5, files[i].mode) != 1 ||
#  197|               md5_update_be32(&seq_md5, filesize) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def55]
drpm-0.5.3/src/drpm_apply.c:204:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  204 |             if (MD5_Update(&seq_md5, files[i].linkto, strlen(files[i].linkto) + 1) != 1) {
#      |             ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  202|   
#  203|           if (S_ISLNK(files[i].mode)) {
#  204|->             if (MD5_Update(&seq_md5, files[i].linkto, strlen(files[i].linkto) + 1) != 1) {
#  205|                   error = DRPM_ERR_OTHER;
#  206|                   goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def56]
drpm-0.5.3/src/drpm_apply.c:204:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  202|   
#  203|           if (S_ISLNK(files[i].mode)) {
#  204|->             if (MD5_Update(&seq_md5, files[i].linkto, strlen(files[i].linkto) + 1) != 1) {
#  205|                   error = DRPM_ERR_OTHER;
#  206|                   goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def57]
drpm-0.5.3/src/drpm_apply.c:215:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  215 |                 if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#      |                 ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  213|                       goto cleanup_fail;
#  214|                   }
#  215|->                 if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#  216|                       error = DRPM_ERR_OTHER;
#  217|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def58]
drpm-0.5.3/src/drpm_apply.c:215:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  213|                       goto cleanup_fail;
#  214|                   }
#  215|->                 if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#  216|                       error = DRPM_ERR_OTHER;
#  217|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def59]
drpm-0.5.3/src/drpm_apply.c:225:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  225 |                 if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#      |                 ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  223|                       goto cleanup_fail;
#  224|                   }
#  225|->                 if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#  226|                       error = DRPM_ERR_OTHER;
#  227|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def60]
drpm-0.5.3/src/drpm_apply.c:225:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  223|                       goto cleanup_fail;
#  224|                   }
#  225|->                 if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#  226|                       error = DRPM_ERR_OTHER;
#  227|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def61]
drpm-0.5.3/src/drpm_apply.c:248:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  248 |     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#      |     ^~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  246|       }
#  247|   
#  248|->     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#  249|           error = DRPM_ERR_OTHER;
#  250|           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def62]
drpm-0.5.3/src/drpm_apply.c:248:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  246|       }
#  247|   
#  248|->     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#  249|           error = DRPM_ERR_OTHER;
#  250|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def63]
drpm-0.5.3/src/drpm_apply.c:313:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_apply.c:302:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_apply.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:304:25: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:312:12: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:312:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:313:13: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:313:13: danger: ‘open(filename, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/0)
#  311|           }
#  312|           if (read_len < 0) {
#  313|->             close(filedesc);
#  314|               return DRPM_ERR_IO;
#  315|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def64]
drpm-0.5.3/src/drpm_apply.c:316:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_apply.c:302:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_apply.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:304:25: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:312:12: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:316:9: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:316:9: danger: ‘open(filename, 0)’ leaks here; was opened at [(1)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/0)
#  314|               return DRPM_ERR_IO;
#  315|           }
#  316|->         close(filedesc);
#  317|       }
#  318|   

Error: GCC_ANALYZER_WARNING (CWE-457): [#def65]
drpm-0.5.3/src/drpm_apply.c:407:8: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘read_len’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_false: following ‘false’ branch (when ‘filesize == 0’)...
drpm-0.5.3/src/drpm_apply.c:407:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:407:8: danger: use of uninitialized value ‘read_len’ here
#  405|       }
#  406|   
#  407|->     if (read_len < 0) {
#  408|           error = DRPM_ERR_IO;
#  409|           goto cleanup;

Error: COMPILER_WARNING (CWE-457): [#def66]
drpm-0.5.3/src/drpm_apply.c: scope_hint: In function ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:407:8: warning[-Wmaybe-uninitialized]: ‘read_len’ may be used uninitialized
#  407 |     if (read_len < 0) {
#      |        ^
drpm-0.5.3/src/drpm_apply.c:391:13: note: ‘read_len’ was declared here
#  391 |     ssize_t read_len;
#      |             ^~~~~~~~
#  405|       }
#  406|   
#  407|->     if (read_len < 0) {
#  408|           error = DRPM_ERR_IO;
#  409|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def67]
drpm-0.5.3/src/drpm_apply.c:421:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:421:5: throw: if ‘close’ throws an exception...
drpm-0.5.3/src/drpm_apply.c:421:5: danger: ‘filedesc’ leaks here; was opened at [(14)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/13)
#  419|   
#  420|   cleanup:
#  421|->     close(filedesc);
#  422|   
#  423|       return error;

Error: COMPILER_WARNING (CWE-477): [#def68]
drpm-0.5.3/src/drpm_apply.c: scope_hint: In function ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:435:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  435 |         if (MD5_Init(&chsm->ctx.md5) != 1)
#      |         ^~
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  433|       switch (digest_algo) {
#  434|       case DIGESTALGO_MD5:
#  435|->         if (MD5_Init(&chsm->ctx.md5) != 1)
#  436|               return DRPM_ERR_OTHER;
#  437|           break;

Error: COMPILER_WARNING (CWE-477): [#def69]
drpm-0.5.3/src/drpm_apply.c:435:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  433|       switch (digest_algo) {
#  434|       case DIGESTALGO_MD5:
#  435|->         if (MD5_Init(&chsm->ctx.md5) != 1)
#  436|               return DRPM_ERR_OTHER;
#  437|           break;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def70]
drpm-0.5.3/src/drpm_apply.c:435:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
#  433|       switch (digest_algo) {
#  434|       case DIGESTALGO_MD5:
#  435|->         if (MD5_Init(&chsm->ctx.md5) != 1)
#  436|               return DRPM_ERR_OTHER;
#  437|           break;

Error: COMPILER_WARNING (CWE-477): [#def71]
drpm-0.5.3/src/drpm_apply.c:439:9: warning[-Wdeprecated-declarations]: ‘SHA256_Init’ is deprecated: Since OpenSSL 3.0
#  439 |         if (SHA256_Init(&chsm->ctx.sha256) != 1)
#      |         ^~
drpm-0.5.3/src/drpm_apply.c:34: included_from: Included from here.
/usr/include/openssl/sha.h:73:27: note: declared here
#   73 | OSSL_DEPRECATEDIN_3_0 int SHA256_Init(SHA256_CTX *c);
#      |                           ^~~~~~~~~~~
#  437|           break;
#  438|       case DIGESTALGO_SHA256:
#  439|->         if (SHA256_Init(&chsm->ctx.sha256) != 1)
#  440|               return DRPM_ERR_OTHER;
#  441|           break;

Error: COMPILER_WARNING (CWE-477): [#def72]
drpm-0.5.3/src/drpm_apply.c:439:9: warning[-Wdeprecated-declarations]: ‘SHA256_Init’ is deprecated: Since OpenSSL 3.0
#  437|           break;
#  438|       case DIGESTALGO_SHA256:
#  439|->         if (SHA256_Init(&chsm->ctx.sha256) != 1)
#  440|               return DRPM_ERR_OTHER;
#  441|           break;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def73]
drpm-0.5.3/src/drpm_apply.c:439:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
#  437|           break;
#  438|       case DIGESTALGO_SHA256:
#  439|->         if (SHA256_Init(&chsm->ctx.sha256) != 1)
#  440|               return DRPM_ERR_OTHER;
#  441|           break;

Error: COMPILER_WARNING (CWE-477): [#def74]
drpm-0.5.3/src/drpm_apply.c: scope_hint: In function ‘checksum_update’
drpm-0.5.3/src/drpm_apply.c:458:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  458 |         return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#      |         ^~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  456|       switch (chsm->digest_algo) {
#  457|       case DIGESTALGO_MD5:
#  458|->         return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|           return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: COMPILER_WARNING (CWE-477): [#def75]
drpm-0.5.3/src/drpm_apply.c:458:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  456|       switch (chsm->digest_algo) {
#  457|       case DIGESTALGO_MD5:
#  458|->         return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|           return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def76]
drpm-0.5.3/src/drpm_apply.c:458:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:400:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:401:13: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:402:22: call_function: calling ‘checksum_update’ from ‘check_prelink’
#  456|       switch (chsm->digest_algo) {
#  457|       case DIGESTALGO_MD5:
#  458|->         return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|           return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: COMPILER_WARNING (CWE-477): [#def77]
drpm-0.5.3/src/drpm_apply.c:460:9: warning[-Wdeprecated-declarations]: ‘SHA256_Update’ is deprecated: Since OpenSSL 3.0
#  460 |         return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#      |         ^~~~~~
/usr/include/openssl/sha.h:74:27: note: declared here
#   74 | OSSL_DEPRECATEDIN_3_0 int SHA256_Update(SHA256_CTX *c,
#      |                           ^~~~~~~~~~~~~
#  458|           return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|->         return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  461|       default:
#  462|           return DRPM_ERR_PROG;

Error: COMPILER_WARNING (CWE-477): [#def78]
drpm-0.5.3/src/drpm_apply.c:460:9: warning[-Wdeprecated-declarations]: ‘SHA256_Update’ is deprecated: Since OpenSSL 3.0
#  458|           return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|->         return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  461|       default:
#  462|           return DRPM_ERR_PROG;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def79]
drpm-0.5.3/src/drpm_apply.c:460:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:400:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:401:13: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:402:22: call_function: calling ‘checksum_update’ from ‘check_prelink’
#  458|           return MD5_Update(&chsm->ctx.md5, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  459|       case DIGESTALGO_SHA256:
#  460|->         return SHA256_Update(&chsm->ctx.sha256, buf, len) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  461|       default:
#  462|           return DRPM_ERR_PROG;

Error: COMPILER_WARNING (CWE-477): [#def80]
drpm-0.5.3/src/drpm_apply.c: scope_hint: In function ‘checksum_final’
drpm-0.5.3/src/drpm_apply.c:473:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  473 |         return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#      |         ^~~~~~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  471|       switch (chsm->digest_algo) {
#  472|       case DIGESTALGO_MD5:
#  473|->         return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|           return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: COMPILER_WARNING (CWE-477): [#def81]
drpm-0.5.3/src/drpm_apply.c:473:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  471|       switch (chsm->digest_algo) {
#  472|       case DIGESTALGO_MD5:
#  473|->         return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|           return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def82]
drpm-0.5.3/src/drpm_apply.c:473:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_true: following ‘true’ branch (when ‘filesize != 0’)...
drpm-0.5.3/src/drpm_apply.c:399:40: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:407:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:407:8: branch_false: following ‘false’ branch (when ‘read_len >= 0’)...
drpm-0.5.3/src/drpm_apply.c:412:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:412:18: call_function: calling ‘checksum_final’ from ‘check_prelink’
#  471|       switch (chsm->digest_algo) {
#  472|       case DIGESTALGO_MD5:
#  473|->         return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|           return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;

Error: COMPILER_WARNING (CWE-477): [#def83]
drpm-0.5.3/src/drpm_apply.c:475:9: warning[-Wdeprecated-declarations]: ‘SHA256_Final’ is deprecated: Since OpenSSL 3.0
#  475 |         return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#      |         ^~~~~~
/usr/include/openssl/sha.h:76:27: note: declared here
#   76 | OSSL_DEPRECATEDIN_3_0 int SHA256_Final(unsigned char *md, SHA256_CTX *c);
#      |                           ^~~~~~~~~~~~
#  473|           return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|->         return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  476|       default:
#  477|           return DRPM_ERR_PROG;

Error: COMPILER_WARNING (CWE-477): [#def84]
drpm-0.5.3/src/drpm_apply.c:475:9: warning[-Wdeprecated-declarations]: ‘SHA256_Final’ is deprecated: Since OpenSSL 3.0
#  473|           return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|->         return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  476|       default:
#  477|           return DRPM_ERR_PROG;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def85]
drpm-0.5.3/src/drpm_apply.c:475:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_apply.c:383:5: enter_function: entry to ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: call_function: calling ‘prelink_open’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:393:18: return_function: returning to ‘check_prelink’ from ‘prelink_open’
drpm-0.5.3/src/drpm_apply.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:396:18: call_function: calling ‘checksum_init’ from ‘check_prelink’
drpm-0.5.3/src/drpm_apply.c:396:18: return_function: returning to ‘check_prelink’ from ‘checksum_init’
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:396:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_true: following ‘true’ branch (when ‘filesize != 0’)...
drpm-0.5.3/src/drpm_apply.c:399:40: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:399:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:407:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:407:8: branch_false: following ‘false’ branch (when ‘read_len >= 0’)...
drpm-0.5.3/src/drpm_apply.c:412:18: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:412:18: call_function: calling ‘checksum_final’ from ‘check_prelink’
#  473|           return MD5_Final(digest, &chsm->ctx.md5) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  474|       case DIGESTALGO_SHA256:
#  475|->         return SHA256_Final(digest, &chsm->ctx.sha256) != 1 ? DRPM_ERR_OTHER : DRPM_ERR_OK;
#  476|       default:
#  477|           return DRPM_ERR_PROG;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def86]
drpm-0.5.3/src/drpm_apply.c:533:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_apply.c:285:5: enter_function: entry to ‘check_filesize’
drpm-0.5.3/src/drpm_apply.c:302:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_apply.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:304:25: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:304:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:305:26: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:305:26: call_function: calling ‘is_prelinked’ from ‘check_filesize’
#  531|       unsigned o;
#  532|   
#  533|->     if (is_prelinked_ret == NULL || buf == NULL)
#  534|           return DRPM_ERR_PROG;
#  535|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def87]
drpm-0.5.3/src/drpm_apply.c:577:9: warning[-Wanalyzer-malloc-leak]: leak of ‘sects’
drpm-0.5.3/src/drpm_apply.c:533:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:536:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:536:8: branch_false: following ‘false’ branch (when ‘read_len >= 0’)...
drpm-0.5.3/src/drpm_apply.c:539:8: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:539:8: branch_false: following ‘false’ branch (when ‘len > 51’)...
drpm-0.5.3/src/drpm_apply.c:540:9: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:539:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:540:27: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:539:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:548:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:553:12: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:554:8: branch_false: following ‘false’ branch (when ‘soff != -1’)...
drpm-0.5.3/src/drpm_apply.c:559:24: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:560:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:567:8: branch_false: following ‘false’ branch (when ‘snum > stridx’)...
drpm-0.5.3/src/drpm_apply.c:572:25: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:572:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_apply.c:572:8: branch_false: following ‘false’ branch (when ‘sects’ is non-NULL)...
drpm-0.5.3/src/drpm_apply.c:577:9: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:577:9: throw: if ‘pread’ throws an exception...
drpm-0.5.3/src/drpm_apply.c:577:9: danger: ‘sects’ leaks here; was allocated at [(19)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/18)
#  575|       }
#  576|   
#  577|->     if (pread(fd, sects, snum * ssiz, soff) != snum * ssiz) {
#  578|           is_prelinked = false;
#  579|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def88]
drpm-0.5.3/src/drpm_apply.c:600:9: warning[-Wanalyzer-malloc-leak]: leak of ‘strsect’
drpm-0.5.3/src/drpm_apply.c:285:5: enter_function: entry to ‘check_filesize’
drpm-0.5.3/src/drpm_apply.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_apply.c:304:25: branch_false: ...to here
drpm-0.5.3/src/drpm_apply.c:304:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_apply.c:305:26: branch_true: ...to here
drpm-0.5.3/src/drpm_apply.c:305:26: call_function: calling ‘is_prelinked’ from ‘check_filesize’
#  598|       }
#  599|   
#  600|->     if (pread(fd, strsect, slen, soff) != (ssize_t)slen) {
#  601|           is_prelinked = false;
#  602|           goto cleanup;

Error: COMPILER_WARNING: [#def89]
drpm-0.5.3/src/drpm_block.c:285:52: warning[-Warray-parameter=]: argument 2 of type ‘unsigned char[8192]’ with mismatched bound
#  285 | int blocks_next(struct blocks *blks, unsigned char buffer[BLOCK_SIZE], size_t *buffer_len,
#      |                                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_block.c:23: included_from: Included from here.
drpm-0.5.3/src/drpm_private.h:142:34: note: previously declared as ‘unsigned char *’
#  142 | int blocks_next(struct blocks *, unsigned char *, size_t *, uint64_t, size_t,
#      |                                  ^~~~~~~~~~~~~~~
#  283|   
#  284|   /* fetches external data */
#  285|-> int blocks_next(struct blocks *blks, unsigned char buffer[BLOCK_SIZE], size_t *buffer_len,
#  286|                   uint64_t offset, size_t copy_len, size_t copy_cnt, size_t id)
#  287|   {

Error: CPPCHECK_WARNING (CWE-457): [#def90]
drpm-0.5.3/src/drpm_block.c:590: error[uninitvar]: Uninitialized variable: plnk_buf
#  588|   
#  589|       if (fstat(filedesc, &stats) == 0 && stats.st_size != file.size) {
#  590|->         if ((error = is_prelinked(prelinked, filedesc, plnk_buf, pread(filedesc, plnk_buf, 128, SEEK_SET))) != DRPM_ERR_OK) {
#  591|               close(filedesc);
#  592|               return error;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
drpm-0.5.3/src/drpm_compstrm.c:261:21: warning[-Wanalyzer-malloc-leak]: leak of ‘buffOut’
drpm-0.5.3/src/drpm_compstrm.c:251:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm_compstrm.c:252:8: branch_false: following ‘false’ branch (when ‘buffOut’ is non-NULL)...
drpm-0.5.3/src/drpm_compstrm.c:258:19: branch_false: ...to here
drpm-0.5.3/src/drpm_compstrm.c:261:21: throw: if ‘ZSTD_compressStream2’ throws an exception...
drpm-0.5.3/src/drpm_compstrm.c:261:21: danger: ‘buffOut’ leaks here; was allocated at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  259|       do{
#  260|           ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
#  261|->         remaining = ZSTD_compressStream2(strm->stream.zstd_context, &output , &input, ZSTD_e_end);
#  262|           if (ZSTD_isError(remaining))
#  263|               return DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def92]
drpm-0.5.3/src/drpm_compstrm.c:746:34: warning[-Wanalyzer-malloc-leak]: leak of ‘buffOut’
drpm-0.5.3/src/drpm_compstrm.c:738:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm_compstrm.c:739:8: branch_false: following ‘false’ branch (when ‘buffOut’ is non-NULL)...
drpm-0.5.3/src/drpm_compstrm.c:743:19: branch_false: ...to here
drpm-0.5.3/src/drpm_compstrm.c:746:34: throw: if ‘ZSTD_compressStream2’ throws an exception...
drpm-0.5.3/src/drpm_compstrm.c:746:34: danger: ‘buffOut’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  744|       do{
#  745|           ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
#  746|->         size_t const remaining = ZSTD_compressStream2(strm->stream.zstd_context, &output , &input, ZSTD_e_continue);
#  747|           if (ZSTD_isError(remaining))
#  748|               return DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def93]
drpm-0.5.3/src/drpm_decompstrm.c: scope_hint: In function ‘readchunk’
drpm-0.5.3/src/drpm_decompstrm.c:481:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  481 |     if (strm->md5 != NULL && MD5_Update(strm->md5, buffer, in_len) != 1)
#      |     ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
drpm-0.5.3/src/drpm_decompstrm.c:23: included_from: Included from here.
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  479|       strm->comp_size = strm->data_len;
#  480|   
#  481|->     if (strm->md5 != NULL && MD5_Update(strm->md5, buffer, in_len) != 1)
#  482|           return DRPM_ERR_OTHER;
#  483|   

Error: COMPILER_WARNING (CWE-477): [#def94]
drpm-0.5.3/src/drpm_decompstrm.c:481:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  479|       strm->comp_size = strm->data_len;
#  480|   
#  481|->     if (strm->md5 != NULL && MD5_Update(strm->md5, buffer, in_len) != 1)
#  482|           return DRPM_ERR_OTHER;
#  483|   

Error: COMPILER_WARNING (CWE-477): [#def95]
drpm-0.5.3/src/drpm_decompstrm.c: scope_hint: In function ‘readchunk_bzip2’
drpm-0.5.3/src/drpm_decompstrm.c:534:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  534 |     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  532|       strm->comp_size += in_len;
#  533|   
#  534|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  535|           return DRPM_ERR_OTHER;
#  536|   

Error: COMPILER_WARNING (CWE-477): [#def96]
drpm-0.5.3/src/drpm_decompstrm.c:534:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  532|       strm->comp_size += in_len;
#  533|   
#  534|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  535|           return DRPM_ERR_OTHER;
#  536|   

Error: COMPILER_WARNING (CWE-477): [#def97]
drpm-0.5.3/src/drpm_decompstrm.c: scope_hint: In function ‘readchunk_gzip’
drpm-0.5.3/src/drpm_decompstrm.c:588:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  588 |     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  586|       strm->comp_size += in_len;
#  587|   
#  588|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  589|           return DRPM_ERR_OTHER;
#  590|   

Error: COMPILER_WARNING (CWE-477): [#def98]
drpm-0.5.3/src/drpm_decompstrm.c:588:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  586|       strm->comp_size += in_len;
#  587|   
#  588|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  589|           return DRPM_ERR_OTHER;
#  590|   

Error: COMPILER_WARNING (CWE-477): [#def99]
drpm-0.5.3/src/drpm_decompstrm.c: scope_hint: In function ‘readchunk_lzma’
drpm-0.5.3/src/drpm_decompstrm.c:648:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  648 |     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  646|       strm->comp_size += in_len;
#  647|   
#  648|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  649|           return DRPM_ERR_OTHER;
#  650|   

Error: COMPILER_WARNING (CWE-477): [#def100]
drpm-0.5.3/src/drpm_decompstrm.c:648:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  646|       strm->comp_size += in_len;
#  647|   
#  648|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  649|           return DRPM_ERR_OTHER;
#  650|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def101]
drpm-0.5.3/src/drpm_decompstrm.c:761:28: warning[-Wanalyzer-malloc-leak]: leak of ‘buffOut’
drpm-0.5.3/src/drpm_decompstrm.c:739:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:745:23: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:745:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: following ‘false’ branch (when ‘in_len != 0’)...
drpm-0.5.3/src/drpm_decompstrm.c:752:32: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:753:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm_decompstrm.c:754:8: branch_false: following ‘false’ branch (when ‘buffOut’ is non-NULL)...
drpm-0.5.3/src/drpm_decompstrm.c:757:19: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:759:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:760:24: branch_true: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:761:28: throw: if ‘ZSTD_decompressStream’ throws an exception...
drpm-0.5.3/src/drpm_decompstrm.c:761:28: danger: ‘buffOut’ leaks here; was allocated at [(7)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/6)
#  759|       while (input.pos < input.size) {
#  760|           ZSTD_outBuffer output = { buffOut, buffOutSize, 0 };
#  761|->         size_t const ret = ZSTD_decompressStream(strm->stream.zstd_context, &output , &input);
#  762|           if (ZSTD_isError(ret))
#  763|               return DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def102]
drpm-0.5.3/src/drpm_decompstrm.c: scope_hint: In function ‘readchunk_zstd’
drpm-0.5.3/src/drpm_decompstrm.c:775:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  775 |     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#      |     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  773|       strm->comp_size += in_len;
#  774|   
#  775|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  776|           return DRPM_ERR_OTHER;
#  777|   

Error: COMPILER_WARNING (CWE-477): [#def103]
drpm-0.5.3/src/drpm_decompstrm.c:775:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  773|       strm->comp_size += in_len;
#  774|   
#  775|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  776|           return DRPM_ERR_OTHER;
#  777|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
drpm-0.5.3/src/drpm_decompstrm.c:775:30: warning[-Wanalyzer-malloc-leak]: leak of ‘buffOut’
drpm-0.5.3/src/drpm_decompstrm.c:739:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:745:23: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:745:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: following ‘false’ branch (when ‘in_len != 0’)...
drpm-0.5.3/src/drpm_decompstrm.c:752:32: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:753:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm_decompstrm.c:754:8: branch_false: following ‘false’ branch (when ‘buffOut’ is non-NULL)...
drpm-0.5.3/src/drpm_decompstrm.c:757:19: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:759:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:773:5: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:775:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:775:30: branch_true: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:775:30: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_decompstrm.c:775:30: danger: ‘buffOut’ leaks here; was allocated at [(7)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/6)
#  773|       strm->comp_size += in_len;
#  774|   
#  775|->     if (strm->md5 != NULL && MD5_Update(strm->md5, in_buffer, in_len) != 1)
#  776|           return DRPM_ERR_OTHER;
#  777|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def105]
drpm-0.5.3/src/drpm_decompstrm.c:780:1: warning[-Wanalyzer-malloc-leak]: leak of ‘buffOut’
drpm-0.5.3/src/drpm_decompstrm.c:739:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:745:23: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:745:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:749:8: branch_false: following ‘false’ branch (when ‘in_len != 0’)...
drpm-0.5.3/src/drpm_decompstrm.c:752:32: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:753:27: acquire_memory: allocated here
drpm-0.5.3/src/drpm_decompstrm.c:754:8: branch_false: following ‘false’ branch (when ‘buffOut’ is non-NULL)...
drpm-0.5.3/src/drpm_decompstrm.c:757:19: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:759:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:773:5: branch_false: ...to here
drpm-0.5.3/src/drpm_decompstrm.c:775:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_decompstrm.c:780:1: danger: ‘buffOut’ leaks here; was allocated at [(7)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/6)
#  778|       free(buffOut);
#  779|       return DRPM_ERR_OK;
#  780|-> }
#  781|   #endif

Error: GCC_ANALYZER_WARNING (CWE-401): [#def106]
drpm-0.5.3/src/drpm_make.c:111:13: warning[-Wanalyzer-malloc-leak]: leak of ‘*seq.data’
drpm-0.5.3/src/drpm_make.c:127:5: enter_function: entry to ‘seq_add’
drpm-0.5.3/src/drpm_make.c:131:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:136:11: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:138:8: branch_true: following ‘true’ branch (when ‘val != 0’)...
drpm-0.5.3/src/drpm_make.c:138:21: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:138:21: call_function: calling ‘seq_append’ from ‘seq_add’
drpm-0.5.3/src/drpm_make.c:138:21: return_function: returning to ‘seq_add’ from ‘seq_append’
drpm-0.5.3/src/drpm_make.c:138:9: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:141:9: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:145:14: call_function: calling ‘seq_append’ from ‘seq_add’
#  109|   
#  110|       if (SEQ_BYTE_LEN(seq->index + len) > seq->alloc_len) {
#  111|->         if ((seq->data = realloc(seq->data, seq->alloc_len + SEQ_ALLOC_SIZE)) == NULL)
#  112|               return false;
#  113|           seq->alloc_len += SEQ_ALLOC_SIZE;

Error: COMPILER_WARNING: [#def107]
drpm-0.5.3/src/drpm_make.c:197:33: warning[-Warray-parameter=]: argument 2 of type ‘const char[111]’ with mismatched bound
#  197 |                      const char buffer[CPIO_HEADER_SIZE + 1])
#      |                      ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_make.c:23: included_from: Included from here.
drpm-0.5.3/src/drpm_private.h:174:44: note: previously declared as ‘const char *’
#  174 | int cpio_header_read(struct cpio_header *, const char *);
#      |                                            ^~~~~~~~~~~~
#  195|   /* Reads CPIO header entry. */
#  196|   int cpio_header_read(struct cpio_header *cpio_hdr,
#  197|->                      const char buffer[CPIO_HEADER_SIZE + 1])
#  198|   {
#  199|       ssize_t ino_ret;

Error: COMPILER_WARNING: [#def108]
drpm-0.5.3/src/drpm_make.c:245:29: warning[-Warray-parameter=]: argument 2 of type ‘char[111]’ with mismatched bound
#  245 |                        char buffer[CPIO_HEADER_SIZE + 1])
#      |                        ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:175:52: note: previously declared as ‘char *’
#  175 | void cpio_header_write(const struct cpio_header *, char *);
#      |                                                    ^~~~~~
#  243|   /* Writes CPIO header entry. */
#  244|   void cpio_header_write(const struct cpio_header *cpio_hdr,
#  245|->                        char buffer[CPIO_HEADER_SIZE + 1])
#  246|   {
#  247|       sprintf(buffer, CPIO_MAGIC

Error: COMPILER_WARNING (CWE-477): [#def109]
drpm-0.5.3/src/drpm_make.c: scope_hint: In function ‘parse_cpio_from_rpm_filedata’
drpm-0.5.3/src/drpm_make.c:332:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  332 |     if (MD5_Init(&seq_md5) != 1)
#      |     ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  330|       }
#  331|   
#  332|->     if (MD5_Init(&seq_md5) != 1)
#  333|           return DRPM_ERR_OTHER;
#  334|   

Error: COMPILER_WARNING (CWE-477): [#def110]
drpm-0.5.3/src/drpm_make.c:332:5: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  330|       }
#  331|   
#  332|->     if (MD5_Init(&seq_md5) != 1)
#  333|           return DRPM_ERR_OTHER;
#  334|   

Error: COMPILER_WARNING (CWE-477): [#def111]
drpm-0.5.3/src/drpm_make.c:486:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  486 |             if (MD5_Update(&seq_md5, name, name_len) != 1 ||
#      |             ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  484|                   goto cleanup_fail;
#  485|   
#  486|->             if (MD5_Update(&seq_md5, name, name_len) != 1 ||
#  487|                   md5_update_be32(&seq_md5, cpio_hdr.mode) != 1 ||
#  488|                   md5_update_be32(&seq_md5, cpio_hdr.filesize) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def112]
drpm-0.5.3/src/drpm_make.c:486:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  484|                   goto cleanup_fail;
#  485|   
#  486|->             if (MD5_Update(&seq_md5, name, name_len) != 1 ||
#  487|                   md5_update_be32(&seq_md5, cpio_hdr.mode) != 1 ||
#  488|                   md5_update_be32(&seq_md5, cpio_hdr.filesize) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def113]
drpm-0.5.3/src/drpm_make.c:499:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  499 |                 if (MD5_Update(&seq_md5, file.linkto, cpio_hdr.filesize + 1) != 1) {
#      |                 ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  497|                       (error = cpio_extend(&cpio, &cpio_len, "\0\0\0", CPIO_PADDING(cpio_hdr.filesize))) != DRPM_ERR_OK)
#  498|                       goto cleanup_fail;
#  499|->                 if (MD5_Update(&seq_md5, file.linkto, cpio_hdr.filesize + 1) != 1) {
#  500|                       error = DRPM_ERR_OTHER;
#  501|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def114]
drpm-0.5.3/src/drpm_make.c:499:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  497|                       (error = cpio_extend(&cpio, &cpio_len, "\0\0\0", CPIO_PADDING(cpio_hdr.filesize))) != DRPM_ERR_OK)
#  498|                       goto cleanup_fail;
#  499|->                 if (MD5_Update(&seq_md5, file.linkto, cpio_hdr.filesize + 1) != 1) {
#  500|                       error = DRPM_ERR_OTHER;
#  501|                       goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def115]
drpm-0.5.3/src/drpm_make.c:510:21: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  510 |                     if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#      |                     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  508|                           goto cleanup_fail;
#  509|                       }
#  510|->                     if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#  511|                           error = DRPM_ERR_OTHER;
#  512|                           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def116]
drpm-0.5.3/src/drpm_make.c:510:21: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  508|                           goto cleanup_fail;
#  509|                       }
#  510|->                     if (MD5_Update(&seq_md5, digest, MD5_DIGEST_LENGTH) != 1) {
#  511|                           error = DRPM_ERR_OTHER;
#  512|                           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def117]
drpm-0.5.3/src/drpm_make.c:520:21: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  520 |                     if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#      |                     ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  518|                           goto cleanup_fail;
#  519|                       }
#  520|->                     if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#  521|                           error = DRPM_ERR_OTHER;
#  522|                           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def118]
drpm-0.5.3/src/drpm_make.c:520:21: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  518|                           goto cleanup_fail;
#  519|                       }
#  520|->                     if (MD5_Update(&seq_md5, digest, SHA256_DIGEST_LENGTH) != 1) {
#  521|                           error = DRPM_ERR_OTHER;
#  522|                           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def119]
drpm-0.5.3/src/drpm_make.c:577:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  577 |     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#      |     ^~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  575|           goto cleanup_fail;
#  576|   
#  577|->     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#  578|           error = DRPM_ERR_OTHER;
#  579|           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def120]
drpm-0.5.3/src/drpm_make.c:577:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  575|           goto cleanup_fail;
#  576|   
#  577|->     if (MD5_Final(seq_md5_digest, &seq_md5) != 1) {
#  578|           error = DRPM_ERR_OTHER;
#  579|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def121]
drpm-0.5.3/src/drpm_make.c:631:16: warning[-Wanalyzer-malloc-leak]: leak of ‘evr’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
#  629|   
#  630|       if (ret != NULL)
#  631|->         *ret = parse_be16(buf);
#  632|   
#  633|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def122]
drpm-0.5.3/src/drpm_make.c:631:16: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
#  629|   
#  630|       if (ret != NULL)
#  631|->         *ret = parse_be16(buf);
#  632|   
#  633|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def123]
drpm-0.5.3/src/drpm_make.c:644:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(oldpatchrpm, 0)’
drpm-0.5.3/src/drpm_make.c:862:5: enter_function: entry to ‘patches_read’
drpm-0.5.3/src/drpm_make.c:874:8: branch_false: following ‘false’ branch (when ‘patches’ is non-NULL)...
drpm-0.5.3/src/drpm_make.c:878:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:878:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:883:21: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:883:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:886:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:889:21: acquire_resource: opened here
drpm-0.5.3/src/drpm_make.c:889:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:894:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:894:18: call_function: calling ‘read_rpmlist’ from ‘patches_read’
#  642|   
#  643|       if (ret != NULL)
#  644|->         *ret = parse_be32(buf);
#  645|   
#  646|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def124]
drpm-0.5.3/src/drpm_make.c:644:16: warning[-Wanalyzer-malloc-leak]: leak of ‘evr’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:759:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint16’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:767:22: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
#  642|   
#  643|       if (ret != NULL)
#  644|->         *ret = parse_be32(buf);
#  645|   
#  646|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def125]
drpm-0.5.3/src/drpm_make.c:644:16: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:759:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint16’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:767:22: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
#  642|   
#  643|       if (ret != NULL)
#  644|->         *ret = parse_be32(buf);
#  645|   
#  646|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def126]
drpm-0.5.3/src/drpm_make.c:683:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*filename_len_ret’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:759:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint16’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:762:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:8: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:789:22: call_function: inlined call to ‘rpml_get_filename’ from ‘read_rpmlist’
#  681|   
#  682|       filename = *filename_ret;
#  683|->     filename_len = *filename_len_ret;
#  684|   
#  685|       if (read(filedesc, buf, 2) != 2)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def127]
drpm-0.5.3/src/drpm_make.c:706:16: warning[-Wanalyzer-malloc-leak]: leak of ‘filename’
drpm-0.5.3/src/drpm_make.c:685:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:688:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:690:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:694:15: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:699:8: branch_true: following ‘true’ branch (when ‘filename_len < new_filename_len’)...
drpm-0.5.3/src/drpm_make.c:700:25: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:700:12: branch_false: following ‘false’ branch (when ‘filename’ is non-NULL)...
drpm-0.5.3/src/drpm_make.c:705:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:705:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:706:16: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:706:16: danger: ‘filename’ leaks here; was allocated at [(7)](sarif:/runs/0/results/14/codeFlows/0/threadFlows/0/locations/6)
#  704|   
#  705|       if (read(filedesc, filename + off, len) != len)
#  706|->         return DRPM_ERR_FORMAT;
#  707|   
#  708|       filename[off + len] = '\0';

Error: GCC_ANALYZER_WARNING (CWE-775): [#def128]
drpm-0.5.3/src/drpm_make.c:742:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(oldpatchrpm, 0)’
drpm-0.5.3/src/drpm_make.c:862:5: enter_function: entry to ‘patches_read’
drpm-0.5.3/src/drpm_make.c:874:8: branch_false: following ‘false’ branch (when ‘patches’ is non-NULL)...
drpm-0.5.3/src/drpm_make.c:878:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:878:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:883:21: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:883:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:886:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:889:21: acquire_resource: opened here
drpm-0.5.3/src/drpm_make.c:889:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:894:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:894:18: call_function: calling ‘read_rpmlist’ from ‘patches_read’
#  740|           if ((error = rpml_get_uint32(filedesc, &magic)) != DRPM_ERR_OK)
#  741|               return error;
#  742|->         if (magic != MAGIC_RPML)
#  743|               return DRPM_ERR_FORMAT;
#  744|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def129]
drpm-0.5.3/src/drpm_make.c:771:18: warning[-Wanalyzer-malloc-leak]: leak of ‘evr’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:759:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint16’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:767:22: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:767:22: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:767:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:767:12: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:770:30: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:771:18: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:771:18: throw: if ‘resize16’ throws an exception...
drpm-0.5.3/src/drpm_make.c:771:18: danger: ‘evr’ leaks here; was allocated at [(21)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/20)
#  769|   
#  770|           for (uint32_t i = 0; i < files_count; i++) {
#  771|->             if (!resize16((void **)&patch->files, patch->file_count, sizeof(struct patch_file))) {
#  772|                   error = DRPM_ERR_MEMORY;
#  773|                   goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def130]
drpm-0.5.3/src/drpm_make.c:771:18: warning[-Wanalyzer-malloc-leak]: leak of ‘name’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:750:31: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:750:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:755:5: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:757:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:757:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:757:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:758:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:758:18: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:758:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:759:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:759:18: call_function: calling ‘rpml_get_uint16’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:759:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint16’
drpm-0.5.3/src/drpm_make.c:757:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:762:9: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:762:8: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:767:22: call_function: calling ‘rpml_get_uint32’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:767:22: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_uint32’
drpm-0.5.3/src/drpm_make.c:767:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:767:12: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:770:30: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:771:18: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:771:18: throw: if ‘resize16’ throws an exception...
drpm-0.5.3/src/drpm_make.c:771:18: danger: ‘name’ leaks here; was allocated at [(8)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/7)
#  769|   
#  770|           for (uint32_t i = 0; i < files_count; i++) {
#  771|->             if (!resize16((void **)&patch->files, patch->file_count, sizeof(struct patch_file))) {
#  772|                   error = DRPM_ERR_MEMORY;
#  773|                   goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-415): [#def131]
drpm-0.5.3/src/drpm_make.c:855:5: warning[-Wanalyzer-double-free]: double-‘free’ of ‘name’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:748:9: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:855:5: danger: second ‘free’ here; first ‘free’ was at [(14)](sarif:/runs/0/results/20/codeFlows/0/threadFlows/0/locations/13)
#  853|   cleanup:
#  854|       free(filename);
#  855|->     free(name);
#  856|       free(evr);
#  857|   

Error: GCC_ANALYZER_WARNING (CWE-415): [#def132]
drpm-0.5.3/src/drpm_make.c:856:5: warning[-Wanalyzer-double-free]: double-‘free’ of ‘evr’
drpm-0.5.3/src/drpm_make.c:723:5: enter_function: entry to ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:746:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_make.c:747:18: branch_false: ...to here
drpm-0.5.3/src/drpm_make.c:747:18: call_function: calling ‘rpml_get_string’ from ‘read_rpmlist’
drpm-0.5.3/src/drpm_make.c:747:18: return_function: returning to ‘read_rpmlist’ from ‘rpml_get_string’
drpm-0.5.3/src/drpm_make.c:746:9: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_make.c:748:9: branch_true: ...to here
drpm-0.5.3/src/drpm_make.c:856:5: danger: second ‘free’ here; first ‘free’ was at [(27)](sarif:/runs/0/results/21/codeFlows/0/threadFlows/0/locations/26)
#  854|       free(filename);
#  855|       free(name);
#  856|->     free(evr);
#  857|   
#  858|       return error;

Error: COMPILER_WARNING: [#def133]
drpm-0.5.3/src/drpm_make.c: scope_hint: At top level
drpm-0.5.3/src/drpm_make.c:991:30: warning[-Warray-parameter=]: argument 3 of type ‘const char[33]’ with mismatched bound
#  991 |                   const char rpm_md5[MD5_DIGEST_LENGTH * 2 + 1])
#      |                   ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_make.c:90:68: note: previously declared as ‘const char *’
#   90 | static bool is_unpatched(const struct rpm_patches *, const char *, const char *);
#      |                                                                    ^~~~~~~~~~~~
#  989|   /* Checks if the file is unpatched. */
#  990|   bool is_unpatched(const struct rpm_patches *patches, const char *name,
#  991|->                   const char rpm_md5[MD5_DIGEST_LENGTH * 2 + 1])
#  992|   {
#  993|       size_t i;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def134]
drpm-0.5.3/src/drpm_read.c:56:19: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_read.c:433:5: enter_function: entry to ‘read_deltarpm’
drpm-0.5.3/src/drpm_read.c:439:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:442:21: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:442:21: acquire_resource: opened here
drpm-0.5.3/src/drpm_read.c:442:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:445:5: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:449:18: call_function: calling ‘read_be32’ from ‘read_deltarpm’
#   54|       }
#   55|   
#   56|->     *buffer_ret = parse_be32(buffer);
#   57|   
#   58|       return DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def135]
drpm-0.5.3/src/drpm_read.c:452:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_read.c:433:5: enter_function: entry to ‘read_deltarpm’
drpm-0.5.3/src/drpm_read.c:439:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:442:21: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:442:21: acquire_resource: opened here
drpm-0.5.3/src/drpm_read.c:442:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:445:5: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:449:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:452:5: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:460:22: call_function: calling ‘readdelta_standard’ from ‘read_deltarpm’
#  450|           goto cleanup_fail;
#  451|   
#  452|->     switch (magic) {
#  453|       case MAGIC_DRPM:
#  454|           delta->type = DRPM_TYPE_RPMONLY;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def136]
drpm-0.5.3/src/drpm_read.c:475:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open(filename, 0)’
drpm-0.5.3/src/drpm_read.c:439:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:442:21: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:442:21: acquire_resource: opened here
drpm-0.5.3/src/drpm_read.c:442:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_read.c:445:5: branch_false: ...to here
drpm-0.5.3/src/drpm_read.c:475:5: throw: if ‘free_deltarpm’ throws an exception...
drpm-0.5.3/src/drpm_read.c:475:5: danger: ‘open(filename, 0)’ leaks here; was opened at [(3)](sarif:/runs/0/results/7/codeFlows/0/threadFlows/0/locations/2)
#  473|   
#  474|   cleanup_fail:
#  475|->     free_deltarpm(delta);
#  476|   
#  477|   cleanup:

Error: GCC_ANALYZER_WARNING (CWE-401): [#def137]
drpm-0.5.3/src/drpm_rpm.c:80:5: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:307:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:345:5: call_function: inlined call to ‘rpm_free’ from ‘rpm_read’
#   78|           return;
#   79|   
#   80|->     headerFree(rpmst->signature);
#   81|       headerFree(rpmst->header);
#   82|       free(rpmst->archive);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def138]
drpm-0.5.3/src/drpm_rpm.c:80:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:1030:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1083:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:1084:9: call_function: inlined call to ‘rpm_free’ from ‘rpm_read_header’
#   78|           return;
#   79|   
#   80|->     headerFree(rpmst->signature);
#   81|       headerFree(rpmst->header);
#   82|       free(rpmst->archive);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def139]
drpm-0.5.3/src/drpm_rpm.c:80:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘*rpmst.signature’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_true: following ‘true’ branch (when ‘str’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1021:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1083:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:1084:9: call_function: inlined call to ‘rpm_free’ from ‘rpm_read_header’
#   78|           return;
#   79|   
#   80|->     headerFree(rpmst->signature);
#   81|       headerFree(rpmst->header);
#   82|       free(rpmst->archive);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def140]
drpm-0.5.3/src/drpm_rpm.c:81:5: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:307:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:345:5: call_function: inlined call to ‘rpm_free’ from ‘rpm_read’
#   79|   
#   80|       headerFree(rpmst->signature);
#   81|->     headerFree(rpmst->header);
#   82|       free(rpmst->archive);
#   83|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def141]
drpm-0.5.3/src/drpm_rpm.c:81:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:1030:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1083:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:1084:9: call_function: inlined call to ‘rpm_free’ from ‘rpm_read_header’
#   79|   
#   80|       headerFree(rpmst->signature);
#   81|->     headerFree(rpmst->header);
#   82|       free(rpmst->archive);
#   83|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def142]
drpm-0.5.3/src/drpm_rpm.c:98:22: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:305:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
#   96|       *len_ret = 0;
#   97|   
#   98|->     if ((signature = headerExport(rpmst->signature, &signature_size)) == NULL) {
#   99|           free(signature);
#  100|           return DRPM_ERR_MEMORY;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def143]
drpm-0.5.3/src/drpm_rpm.c:131:19: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
#  129|       *len_ret = 0;
#  130|   
#  131|->     if ((header = headerExport(rpmst->header, &header_size)) == NULL ||
#  132|           (*header_ret = malloc(sizeof(rpm_header_magic) + header_size)) == NULL) {
#  133|           free(header);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def144]
drpm-0.5.3/src/drpm_rpm.c:131:19: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1067:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1072:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1072:18: call_function: calling ‘rpm_export_header’ from ‘rpm_read_header’
#  129|       *len_ret = 0;
#  130|   
#  131|->     if ((header = headerExport(rpmst->header, &header_size)) == NULL ||
#  132|           (*header_ret = malloc(sizeof(rpm_header_magic) + header_size)) == NULL) {
#  133|           free(header);

Error: COMPILER_WARNING (CWE-477): [#def145]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: In function ‘rpm_read_archive’
drpm-0.5.3/src/drpm_rpm.c:213:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  213 |             if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#      |             ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
drpm-0.5.3/src/drpm_rpm.c:22: included_from: Included from here.
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  211|                   goto cleanup;
#  212|               }
#  213|->             if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|                   (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def146]
drpm-0.5.3/src/drpm_rpm.c:213:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  211|                   goto cleanup;
#  212|               }
#  213|->             if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|                   (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def147]
drpm-0.5.3/src/drpm_rpm.c:213:37: warning[-Wanalyzer-malloc-leak]: leak of ‘archive_tmp’
drpm-0.5.3/src/drpm_rpm.c:189:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:192:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:192:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: following ‘false’ branch (when ‘decompress == 0’)...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:207:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:209:18: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:208:16: branch_false: following ‘false’ branch (when ‘archive_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_true: following ‘true’ branch (when ‘seq_md5’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:37: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:37: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:213:37: danger: ‘archive_tmp’ leaks here; was allocated at [(9)](sarif:/runs/0/results/25/codeFlows/0/threadFlows/0/locations/8)
#  211|                   goto cleanup;
#  212|               }
#  213|->             if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|                   (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def148]
drpm-0.5.3/src/drpm_rpm.c:214:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  214 |                 (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#      |                 ^
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  212|               }
#  213|               if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|->                 (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;
#  216|                   goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def149]
drpm-0.5.3/src/drpm_rpm.c:214:17: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  212|               }
#  213|               if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|->                 (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;
#  216|                   goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def150]
drpm-0.5.3/src/drpm_rpm.c:214:38: warning[-Wanalyzer-malloc-leak]: leak of ‘archive_tmp’
drpm-0.5.3/src/drpm_rpm.c:189:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:192:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:192:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: following ‘false’ branch (when ‘decompress == 0’)...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:207:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:209:18: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:208:16: branch_false: following ‘false’ branch (when ‘archive_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_true: following ‘true’ branch (when ‘seq_md5’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:37: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_true: following ‘true’ branch (when ‘full_md5’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:214:38: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:214:38: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:214:38: danger: ‘archive_tmp’ leaks here; was allocated at [(9)](sarif:/runs/0/results/26/codeFlows/0/threadFlows/0/locations/8)
#  212|               }
#  213|               if ((seq_md5 != NULL && MD5_Update(seq_md5, buffer, bytes_read) != 1) ||
#  214|->                 (full_md5 != NULL && MD5_Update(full_md5, buffer, bytes_read) != 1)) {
#  215|                   error = DRPM_ERR_OTHER;
#  216|                   goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def151]
drpm-0.5.3/src/drpm_rpm.c:231:9: warning[-Wanalyzer-malloc-leak]: leak of ‘archive_tmp’
drpm-0.5.3/src/drpm_rpm.c:189:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:192:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:192:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: following ‘false’ branch (when ‘decompress == 0’)...
drpm-0.5.3/src/drpm_rpm.c:197:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:207:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:209:18: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:208:16: branch_false: following ‘false’ branch (when ‘archive_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_true: following ‘true’ branch (when ‘seq_md5’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:37: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:17: branch_true: following ‘true’ branch (when ‘full_md5’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:214:38: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:214:17: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:218:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:207:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:209:18: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:208:16: branch_false: following ‘false’ branch (when ‘archive_tmp’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:213:16: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:230:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:231:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:231:9: throw: if ‘decompstrm_destroy’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:231:9: danger: ‘archive_tmp’ leaks here; was allocated at [(22)](sarif:/runs/0/results/27/codeFlows/0/threadFlows/0/locations/21)
#  229|   cleanup:
#  230|       if (stream != NULL)
#  231|->         decompstrm_destroy(&stream);
#  232|   
#  233|       close(filedesc);

Error: COMPILER_WARNING: [#def152]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: At top level
drpm-0.5.3/src/drpm_rpm.c:247:28: warning[-Warray-parameter=]: argument 5 of type ‘unsigned char[16]’ with mismatched bound
#  247 |              unsigned char seq_md5_digest[MD5_DIGEST_LENGTH],
#      |              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:209:14: note: previously declared as ‘unsigned char *’
#  209 |              unsigned char *, unsigned char *);
#      |              ^~~~~~~~~~~~~~~
#  245|   int rpm_read(struct rpm **rpmst, const char *filename,
#  246|                int archive_mode, unsigned short *archive_comp,
#  247|->              unsigned char seq_md5_digest[MD5_DIGEST_LENGTH],
#  248|                unsigned char full_md5_digest[MD5_DIGEST_LENGTH])
#  249|   {

Error: COMPILER_WARNING: [#def153]
drpm-0.5.3/src/drpm_rpm.c:248:28: warning[-Warray-parameter=]: argument 6 of type ‘unsigned char[16]’ with mismatched bound
#  248 |              unsigned char full_md5_digest[MD5_DIGEST_LENGTH])
#      |              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:209:31: note: previously declared as ‘unsigned char *’
#  209 |              unsigned char *, unsigned char *);
#      |                               ^~~~~~~~~~~~~~~
#  246|                int archive_mode, unsigned short *archive_comp,
#  247|                unsigned char seq_md5_digest[MD5_DIGEST_LENGTH],
#  248|->              unsigned char full_md5_digest[MD5_DIGEST_LENGTH])
#  249|   {
#  250|       FD_t file;

Error: COMPILER_WARNING (CWE-477): [#def154]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: In function ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:304:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  304 |         if (MD5_Init(&seq_md5) != 1 ||
#      |         ^~
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  302|           if ((error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK)
#  303|               goto cleanup_fail;
#  304|->         if (MD5_Init(&seq_md5) != 1 ||
#  305|               MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def155]
drpm-0.5.3/src/drpm_rpm.c:304:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  302|           if ((error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK)
#  303|               goto cleanup_fail;
#  304|->         if (MD5_Init(&seq_md5) != 1 ||
#  305|               MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def156]
drpm-0.5.3/src/drpm_rpm.c:304:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:13: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:304:13: danger: ‘header’ leaks here; was allocated at [(29)](sarif:/runs/0/results/28/codeFlows/0/threadFlows/0/locations/28)
#  302|           if ((error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK)
#  303|               goto cleanup_fail;
#  304|->         if (MD5_Init(&seq_md5) != 1 ||
#  305|               MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def157]
drpm-0.5.3/src/drpm_rpm.c:305:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:305:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:305:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:305:13: danger: ‘header’ leaks here; was allocated at [(29)](sarif:/runs/0/results/29/codeFlows/0/threadFlows/0/locations/28)
#  303|               goto cleanup_fail;
#  304|           if (MD5_Init(&seq_md5) != 1 ||
#  305|->             MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;
#  307|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def158]
drpm-0.5.3/src/drpm_rpm.c:305:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  305 |             MD5_Update(&seq_md5, header, header_len) != 1) {
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  303|               goto cleanup_fail;
#  304|           if (MD5_Init(&seq_md5) != 1 ||
#  305|->             MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;
#  307|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def159]
drpm-0.5.3/src/drpm_rpm.c:305:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  303|               goto cleanup_fail;
#  304|           if (MD5_Init(&seq_md5) != 1 ||
#  305|->             MD5_Update(&seq_md5, header, header_len) != 1) {
#  306|               error = DRPM_ERR_OTHER;
#  307|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def160]
drpm-0.5.3/src/drpm_rpm.c:315:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  315 |         if (MD5_Init(&full_md5) != 1 ||
#      |         ^~
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  313|               (header == NULL && (error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK))
#  314|               goto cleanup_fail;
#  315|->         if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def161]
drpm-0.5.3/src/drpm_rpm.c:315:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  313|               (header == NULL && (error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK))
#  314|               goto cleanup_fail;
#  315|->         if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def162]
drpm-0.5.3/src/drpm_rpm.c:315:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:315:13: danger: ‘header’ leaks here; was allocated at [(42)](sarif:/runs/0/results/30/codeFlows/0/threadFlows/0/locations/41)
#  313|               (header == NULL && (error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK))
#  314|               goto cleanup_fail;
#  315|->         if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def163]
drpm-0.5.3/src/drpm_rpm.c:315:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:315:13: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/31/codeFlows/0/threadFlows/0/locations/30)
#  313|               (header == NULL && (error = rpm_export_header(*rpmst, &header, &header_len)) != DRPM_ERR_OK))
#  314|               goto cleanup_fail;
#  315|->         if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def164]
drpm-0.5.3/src/drpm_rpm.c:316:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:316:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:316:13: danger: ‘header’ leaks here; was allocated at [(42)](sarif:/runs/0/results/32/codeFlows/0/threadFlows/0/locations/41)
#  314|               goto cleanup_fail;
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|->             MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def165]
drpm-0.5.3/src/drpm_rpm.c:316:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:316:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:316:13: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/33/codeFlows/0/threadFlows/0/locations/30)
#  314|               goto cleanup_fail;
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|->             MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {

Error: COMPILER_WARNING (CWE-477): [#def166]
drpm-0.5.3/src/drpm_rpm.c:316:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  316 |             MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  314|               goto cleanup_fail;
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|->             MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {

Error: COMPILER_WARNING (CWE-477): [#def167]
drpm-0.5.3/src/drpm_rpm.c:316:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  314|               goto cleanup_fail;
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|->             MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def168]
drpm-0.5.3/src/drpm_rpm.c:317:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:317:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:317:13: danger: ‘header’ leaks here; was allocated at [(42)](sarif:/runs/0/results/34/codeFlows/0/threadFlows/0/locations/41)
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|->             MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def169]
drpm-0.5.3/src/drpm_rpm.c:317:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:317:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:317:13: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/35/codeFlows/0/threadFlows/0/locations/30)
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|->             MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def170]
drpm-0.5.3/src/drpm_rpm.c:317:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  317 |             MD5_Update(&full_md5, signature, signature_len) != 1 ||
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|->             MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def171]
drpm-0.5.3/src/drpm_rpm.c:317:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  315|           if (MD5_Init(&full_md5) != 1 ||
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|->             MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|               MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def172]
drpm-0.5.3/src/drpm_rpm.c:318:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:318:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:318:13: danger: ‘header’ leaks here; was allocated at [(42)](sarif:/runs/0/results/37/codeFlows/0/threadFlows/0/locations/41)
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|->             MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;
#  320|               goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def173]
drpm-0.5.3/src/drpm_rpm.c:318:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:318:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:318:13: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/38/codeFlows/0/threadFlows/0/locations/30)
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|->             MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;
#  320|               goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-457): [#def174]
drpm-0.5.3/src/drpm_rpm.c:318:13: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘header_len’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:318:13: danger: use of uninitialized value ‘header_len’ here
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|->             MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;
#  320|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def175]
drpm-0.5.3/src/drpm_rpm.c:318:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  318 |             MD5_Update(&full_md5, header, header_len) != 1) {
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|->             MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;
#  320|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def176]
drpm-0.5.3/src/drpm_rpm.c:318:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  316|               MD5_Update(&full_md5, (*rpmst)->lead, RPMLEAD_SIZE) != 1 ||
#  317|               MD5_Update(&full_md5, signature, signature_len) != 1 ||
#  318|->             MD5_Update(&full_md5, header, header_len) != 1) {
#  319|               error = DRPM_ERR_OTHER;
#  320|               goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def177]
drpm-0.5.3/src/drpm_rpm.c:325:25: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:305:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: following ‘false’ branch (when ‘full_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:325:25: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:325:25: throw: if ‘Ftell’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:325:25: danger: ‘header’ leaks here; was allocated at [(29)](sarif:/runs/0/results/39/codeFlows/0/threadFlows/0/locations/28)
#  323|   
#  324|       if (include_archive) {
#  325|->         if ((file_pos = Ftell(file)) < 0) {
#  326|               error = DRPM_ERR_IO;
#  327|               goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def178]
drpm-0.5.3/src/drpm_rpm.c:325:25: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:325:25: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:325:25: throw: if ‘Ftell’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:325:25: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/40/codeFlows/0/threadFlows/0/locations/30)
#  323|   
#  324|       if (include_archive) {
#  325|->         if ((file_pos = Ftell(file)) < 0) {
#  326|               error = DRPM_ERR_IO;
#  327|               goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def179]
drpm-0.5.3/src/drpm_rpm.c:336:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  336 |     if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#      |     ^~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  334|       }
#  335|   
#  336|->     if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|           (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def180]
drpm-0.5.3/src/drpm_rpm.c:336:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  334|       }
#  335|   
#  336|->     if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|           (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def181]
drpm-0.5.3/src/drpm_rpm.c:336:36: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:305:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: following ‘false’ branch (when ‘full_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: following ‘false’ branch (when ‘include_archive == 0’)...
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:336:36: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:36: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:336:36: danger: ‘header’ leaks here; was allocated at [(29)](sarif:/runs/0/results/41/codeFlows/0/threadFlows/0/locations/28)
#  334|       }
#  335|   
#  336|->     if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|           (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def182]
drpm-0.5.3/src/drpm_rpm.c:336:36: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:302:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:302:22: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:302:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:302:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:305:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:304:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: following ‘false’ branch (when ‘include_archive == 0’)...
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_true: following ‘true’ branch (when ‘seq_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:336:36: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:36: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:336:36: danger: ‘signature’ leaks here; was allocated at [(44)](sarif:/runs/0/results/42/codeFlows/0/threadFlows/0/locations/43)
#  334|       }
#  335|   
#  336|->     if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|           (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def183]
drpm-0.5.3/src/drpm_rpm.c:337:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  337 |         (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#      |         ^
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  335|   
#  336|       if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|->         (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;
#  339|           goto cleanup_fail;

Error: COMPILER_WARNING (CWE-477): [#def184]
drpm-0.5.3/src/drpm_rpm.c:337:9: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  335|   
#  336|       if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|->         (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;
#  339|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def185]
drpm-0.5.3/src/drpm_rpm.c:337:37: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: following ‘false’ branch (when ‘include_archive == 0’)...
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:336:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:9: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:337:37: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:337:37: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:337:37: danger: ‘header’ leaks here; was allocated at [(42)](sarif:/runs/0/results/43/codeFlows/0/threadFlows/0/locations/41)
#  335|   
#  336|       if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|->         (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;
#  339|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def186]
drpm-0.5.3/src/drpm_rpm.c:337:37: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:245:5: enter_function: entry to ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:263:8: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:282:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:285:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:288:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:292:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:293:32: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:294:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:296:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:291:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:301:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:311:8: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:312:22: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:22: call_function: calling ‘rpm_export_signature’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:312:22: return_function: returning to ‘rpm_read’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:312:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:312:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:313:41: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:313:41: call_function: calling ‘rpm_export_header’ from ‘rpm_read’
drpm-0.5.3/src/drpm_rpm.c:313:41: return_function: returning to ‘rpm_read’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:313:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:316:35: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:317:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:318:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:315:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:324:8: branch_false: following ‘false’ branch (when ‘include_archive == 0’)...
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:8: branch_false: following ‘false’ branch (when ‘seq_md5_digest’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:336:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:336:9: branch_true: following ‘true’ branch (when ‘full_md5_digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:337:37: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:337:37: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:337:37: danger: ‘signature’ leaks here; was allocated at [(31)](sarif:/runs/0/results/44/codeFlows/0/threadFlows/0/locations/30)
#  335|   
#  336|       if ((seq_md5_digest != NULL && MD5_Final(seq_md5_digest, &seq_md5) != 1) ||
#  337|->         (full_md5_digest != NULL && MD5_Final(full_md5_digest, &full_md5) != 1)) {
#  338|           error = DRPM_ERR_OTHER;
#  339|           goto cleanup_fail;

Error: COMPILER_WARNING: [#def187]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: At top level
drpm-0.5.3/src/drpm_rpm.c:485:92: warning[-Warray-parameter=]: argument 4 of type ‘unsigned char[16]’ with mismatched bound
#  485 | int rpm_write(struct rpm *rpmst, const char *filename, bool include_archive, unsigned char digest[MD5_DIGEST_LENGTH], bool full_md5)
#      |                                                                              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:219:49: note: previously declared as ‘unsigned char *’
#  219 | int rpm_write(struct rpm *, const char *, bool, unsigned char *, bool);
#      |                                                 ^~~~~~~~~~~~~~~
#  483|    * data to <digest>. If <full_md5> is false, then this will not include
#  484|    * the lead and signature. */
#  485|-> int rpm_write(struct rpm *rpmst, const char *filename, bool include_archive, unsigned char digest[MD5_DIGEST_LENGTH], bool full_md5)
#  486|   {
#  487|       int error = DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def188]
drpm-0.5.3/src/drpm_rpm.c:506:9: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:506:9: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/46/codeFlows/0/threadFlows/0/locations/18)
#  504|           goto cleanup;
#  505|   
#  506|->     if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|           Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|           Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def189]
drpm-0.5.3/src/drpm_rpm.c:506:9: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:506:9: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/45/codeFlows/0/threadFlows/0/locations/9)
#  504|           goto cleanup;
#  505|   
#  506|->     if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|           Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|           Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def190]
drpm-0.5.3/src/drpm_rpm.c:507:9: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:507:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:507:9: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/48/codeFlows/0/threadFlows/0/locations/18)
#  505|   
#  506|       if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|->         Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|           Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {
#  509|           error = DRPM_ERR_IO;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def191]
drpm-0.5.3/src/drpm_rpm.c:507:9: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:507:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:507:9: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/47/codeFlows/0/threadFlows/0/locations/9)
#  505|   
#  506|       if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|->         Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|           Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {
#  509|           error = DRPM_ERR_IO;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def192]
drpm-0.5.3/src/drpm_rpm.c:508:9: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:508:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:508:9: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/50/codeFlows/0/threadFlows/0/locations/18)
#  506|       if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|           Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|->         Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {
#  509|           error = DRPM_ERR_IO;
#  510|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def193]
drpm-0.5.3/src/drpm_rpm.c:508:9: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:508:9: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:508:9: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/49/codeFlows/0/threadFlows/0/locations/9)
#  506|       if (Fwrite(rpmst->lead, 1, RPMLEAD_SIZE, file) != RPMLEAD_SIZE ||
#  507|           Fwrite(signature, 1, signature_len, file) != (ssize_t)signature_len ||
#  508|->         Fwrite(header, 1, header_len, file) != (ssize_t)header_len) {
#  509|           error = DRPM_ERR_IO;
#  510|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def194]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: In function ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:514:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  514 |         if (MD5_Init(&md5) != 1 ||
#      |         ^~
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  512|   
#  513|       if (digest != NULL) {
#  514|->         if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def195]
drpm-0.5.3/src/drpm_rpm.c:514:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  512|   
#  513|       if (digest != NULL) {
#  514|->         if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def196]
drpm-0.5.3/src/drpm_rpm.c:514:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:514:13: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/52/codeFlows/0/threadFlows/0/locations/18)
#  512|   
#  513|       if (digest != NULL) {
#  514|->         if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def197]
drpm-0.5.3/src/drpm_rpm.c:514:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: throw: if ‘MD5_Init’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:514:13: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/51/codeFlows/0/threadFlows/0/locations/9)
#  512|   
#  513|       if (digest != NULL) {
#  514|->         if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def198]
drpm-0.5.3/src/drpm_rpm.c:516:14: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  516 |              (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#      |              ^
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  514|           if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|->              (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {

Error: COMPILER_WARNING (CWE-477): [#def199]
drpm-0.5.3/src/drpm_rpm.c:516:14: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  514|           if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|->              (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def200]
drpm-0.5.3/src/drpm_rpm.c:516:15: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: following ‘true’ branch (when ‘full_md5 != 0’)...
drpm-0.5.3/src/drpm_rpm.c:516:15: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:516:15: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:516:15: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/54/codeFlows/0/threadFlows/0/locations/18)
#  514|           if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|->              (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def201]
drpm-0.5.3/src/drpm_rpm.c:516:15: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: following ‘true’ branch (when ‘full_md5 != 0’)...
drpm-0.5.3/src/drpm_rpm.c:516:15: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:516:15: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:516:15: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/53/codeFlows/0/threadFlows/0/locations/9)
#  514|           if (MD5_Init(&md5) != 1 ||
#  515|               (full_md5 &&
#  516|->              (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def202]
drpm-0.5.3/src/drpm_rpm.c:517:15: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: following ‘true’ branch (when ‘full_md5 != 0’)...
drpm-0.5.3/src/drpm_rpm.c:516:15: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:515:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:517:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:517:15: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:517:15: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/56/codeFlows/0/threadFlows/0/locations/18)
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|->               MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def203]
drpm-0.5.3/src/drpm_rpm.c:517:15: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: following ‘true’ branch (when ‘full_md5 != 0’)...
drpm-0.5.3/src/drpm_rpm.c:516:15: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:515:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:517:15: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:517:15: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:517:15: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/55/codeFlows/0/threadFlows/0/locations/9)
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|->               MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def204]
drpm-0.5.3/src/drpm_rpm.c:517:15: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  517 |               MD5_Update(&md5, signature, signature_len) != 1)) ||
#      |               ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|->               MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def205]
drpm-0.5.3/src/drpm_rpm.c:517:15: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  515|               (full_md5 &&
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|->               MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|               MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def206]
drpm-0.5.3/src/drpm_rpm.c:518:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:518:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:518:13: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/58/codeFlows/0/threadFlows/0/locations/18)
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|->             MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;
#  520|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def207]
drpm-0.5.3/src/drpm_rpm.c:518:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:518:13: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:518:13: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/57/codeFlows/0/threadFlows/0/locations/9)
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|->             MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;
#  520|               goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def208]
drpm-0.5.3/src/drpm_rpm.c:518:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  518 |             MD5_Update(&md5, header, header_len) != 1) {
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|->             MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;
#  520|               goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def209]
drpm-0.5.3/src/drpm_rpm.c:518:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  516|                (MD5_Update(&md5, rpmst->lead, RPMLEAD_SIZE) != 1 ||
#  517|                 MD5_Update(&md5, signature, signature_len) != 1)) ||
#  518|->             MD5_Update(&md5, header, header_len) != 1) {
#  519|               error = DRPM_ERR_OTHER;
#  520|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def210]
drpm-0.5.3/src/drpm_rpm.c:525:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:525:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:525:13: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:525:13: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/60/codeFlows/0/threadFlows/0/locations/18)
#  523|   
#  524|       if (include_archive) {
#  525|->         if (Fwrite(rpmst->archive, 1, rpmst->archive_size, file)
#  526|               != (ssize_t)rpmst->archive_size) {
#  527|               error = DRPM_ERR_IO;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def211]
drpm-0.5.3/src/drpm_rpm.c:525:13: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:525:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:525:13: throw: if ‘Fwrite’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:525:13: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/59/codeFlows/0/threadFlows/0/locations/9)
#  523|   
#  524|       if (include_archive) {
#  525|->         if (Fwrite(rpmst->archive, 1, rpmst->archive_size, file)
#  526|               != (ssize_t)rpmst->archive_size) {
#  527|               error = DRPM_ERR_IO;

Error: COMPILER_WARNING (CWE-477): [#def212]
drpm-0.5.3/src/drpm_rpm.c:530:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  530 |         if (digest != NULL && MD5_Update(&md5, rpmst->archive, rpmst->archive_size) != 1) {
#      |         ^~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  528|               goto cleanup;
#  529|           }
#  530|->         if (digest != NULL && MD5_Update(&md5, rpmst->archive, rpmst->archive_size) != 1) {
#  531|               error = DRPM_ERR_OTHER;
#  532|               goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def213]
drpm-0.5.3/src/drpm_rpm.c:530:9: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  528|               goto cleanup;
#  529|           }
#  530|->         if (digest != NULL && MD5_Update(&md5, rpmst->archive, rpmst->archive_size) != 1) {
#  531|               error = DRPM_ERR_OTHER;
#  532|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def214]
drpm-0.5.3/src/drpm_rpm.c:530:31: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:525:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:525:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:530:12: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:530:12: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:530:48: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:530:31: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:530:31: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/62/codeFlows/0/threadFlows/0/locations/18)
#  528|               goto cleanup;
#  529|           }
#  530|->         if (digest != NULL && MD5_Update(&md5, rpmst->archive, rpmst->archive_size) != 1) {
#  531|               error = DRPM_ERR_OTHER;
#  532|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def215]
drpm-0.5.3/src/drpm_rpm.c:530:31: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_true: following ‘true’ branch (when ‘include_archive != 0’)...
drpm-0.5.3/src/drpm_rpm.c:525:13: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:525:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:530:12: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:530:12: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:530:48: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:530:31: throw: if ‘MD5_Update’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:530:31: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/61/codeFlows/0/threadFlows/0/locations/9)
#  528|               goto cleanup;
#  529|           }
#  530|->         if (digest != NULL && MD5_Update(&md5, rpmst->archive, rpmst->archive_size) != 1) {
#  531|               error = DRPM_ERR_OTHER;
#  532|               goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def216]
drpm-0.5.3/src/drpm_rpm.c:536:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  536 |     if (digest != NULL && MD5_Final(digest, &md5) != 1) {
#      |     ^~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  534|       }
#  535|   
#  536|->     if (digest != NULL && MD5_Final(digest, &md5) != 1) {
#  537|           error = DRPM_ERR_OTHER;
#  538|           goto cleanup;

Error: COMPILER_WARNING (CWE-477): [#def217]
drpm-0.5.3/src/drpm_rpm.c:536:5: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  534|       }
#  535|   
#  536|->     if (digest != NULL && MD5_Final(digest, &md5) != 1) {
#  537|           error = DRPM_ERR_OTHER;
#  538|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def218]
drpm-0.5.3/src/drpm_rpm.c:536:27: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:536:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:536:27: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:536:27: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:536:27: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/64/codeFlows/0/threadFlows/0/locations/18)
#  534|       }
#  535|   
#  536|->     if (digest != NULL && MD5_Final(digest, &md5) != 1) {
#  537|           error = DRPM_ERR_OTHER;
#  538|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def219]
drpm-0.5.3/src/drpm_rpm.c:536:27: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:507:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:508:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:506:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:513:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:514:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:524:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:536:8: branch_true: following ‘true’ branch (when ‘digest’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:536:27: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:536:27: throw: if ‘MD5_Final’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:536:27: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/63/codeFlows/0/threadFlows/0/locations/9)
#  534|       }
#  535|   
#  536|->     if (digest != NULL && MD5_Final(digest, &md5) != 1) {
#  537|           error = DRPM_ERR_OTHER;
#  538|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def220]
drpm-0.5.3/src/drpm_rpm.c:542:5: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:506:16: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:542:5: throw: if ‘Fclose’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:542:5: danger: ‘header’ leaks here; was allocated at [(19)](sarif:/runs/0/results/66/codeFlows/0/threadFlows/0/locations/18)
#  540|   
#  541|   cleanup:
#  542|->     Fclose(file);
#  543|       free(signature);
#  544|       free(header);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def221]
drpm-0.5.3/src/drpm_rpm.c:542:5: warning[-Wanalyzer-malloc-leak]: leak of ‘signature’
drpm-0.5.3/src/drpm_rpm.c:485:5: enter_function: entry to ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:495:8: branch_false: following ‘false’ branch (when ‘rpmst’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:499:17: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:499:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:502:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:502:18: call_function: calling ‘rpm_export_signature’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:502:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_signature’
drpm-0.5.3/src/drpm_rpm.c:502:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:503:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:503:18: call_function: calling ‘rpm_export_header’ from ‘rpm_write’
drpm-0.5.3/src/drpm_rpm.c:503:18: return_function: returning to ‘rpm_write’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:502:9: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:504:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:542:5: throw: if ‘Fclose’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:542:5: danger: ‘signature’ leaks here; was allocated at [(10)](sarif:/runs/0/results/65/codeFlows/0/threadFlows/0/locations/9)
#  540|   
#  541|   cleanup:
#  542|->     Fclose(file);
#  543|       free(signature);
#  544|       free(header);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def222]
drpm-0.5.3/src/drpm_rpm.c:801:21: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:21: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:801:21: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/68/codeFlows/0/threadFlows/0/locations/60)
#  799|   
#  800|       for (size_t i = 0; i < count; i++) {
#  801|->         if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def223]
drpm-0.5.3/src/drpm_rpm.c:801:21: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:21: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:801:21: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/67/codeFlows/0/threadFlows/0/locations/32)
#  799|   
#  800|       for (size_t i = 0; i < count; i++) {
#  801|->         if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def224]
drpm-0.5.3/src/drpm_rpm.c:802:22: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:802:22: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:802:22: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/70/codeFlows/0/threadFlows/0/locations/60)
#  800|       for (size_t i = 0; i < count; i++) {
#  801|           if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|->             (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def225]
drpm-0.5.3/src/drpm_rpm.c:802:22: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:802:22: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:802:22: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/69/codeFlows/0/threadFlows/0/locations/32)
#  800|       for (size_t i = 0; i < count; i++) {
#  801|           if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|->             (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def226]
drpm-0.5.3/src/drpm_rpm.c:803:20: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:803:20: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:803:20: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/72/codeFlows/0/threadFlows/0/locations/60)
#  801|           if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|->             (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def227]
drpm-0.5.3/src/drpm_rpm.c:803:20: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:803:20: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:803:20: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/71/codeFlows/0/threadFlows/0/locations/32)
#  801|           if ((name = rpmtdNextString(filenames)) == NULL ||
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|->             (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def228]
drpm-0.5.3/src/drpm_rpm.c:804:21: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:804:21: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:804:21: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/74/codeFlows/0/threadFlows/0/locations/60)
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|->             (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def229]
drpm-0.5.3/src/drpm_rpm.c:804:21: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:804:21: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:804:21: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/73/codeFlows/0/threadFlows/0/locations/32)
#  802|               (flags = rpmtdNextUint32(fileflags)) == NULL ||
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|->             (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def230]
drpm-0.5.3/src/drpm_rpm.c:805:23: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:805:23: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:805:23: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/76/codeFlows/0/threadFlows/0/locations/60)
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|->             (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def231]
drpm-0.5.3/src/drpm_rpm.c:805:23: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:805:23: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:805:23: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/75/codeFlows/0/threadFlows/0/locations/32)
#  803|               (md5 = rpmtdNextString(filemd5s)) == NULL ||
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|->             (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def232]
drpm-0.5.3/src/drpm_rpm.c:806:23: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:806:23: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:806:23: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/78/codeFlows/0/threadFlows/0/locations/60)
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|->             (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def233]
drpm-0.5.3/src/drpm_rpm.c:806:23: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:806:23: throw: if ‘rpmtdNextString’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:806:23: danger: ‘files’ leaks here; was allocated at [(33)](sarif:/runs/0/results/77/codeFlows/0/threadFlows/0/locations/32)
#  804|               (size = rpmtdNextUint32(filesizes)) == NULL ||
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|->             (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def234]
drpm-0.5.3/src/drpm_rpm.c:807:33: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:33: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:807:33: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/80/codeFlows/0/threadFlows/0/locations/60)
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|->             (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def235]
drpm-0.5.3/src/drpm_rpm.c:807:33: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:787:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:792:25: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:33: throw: if ‘rpmtdNextUint32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:807:33: danger: ‘files’ leaks here; was allocated at [(35)](sarif:/runs/0/results/79/codeFlows/0/threadFlows/0/locations/34)
#  805|               (verify = rpmtdNextUint32(fileverify)) == NULL ||
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|->             (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def236]
drpm-0.5.3/src/drpm_rpm.c:808:13: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:808:13: throw: if ‘rpmtdNext’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:808:13: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/82/codeFlows/0/threadFlows/0/locations/60)
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|->             rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def237]
drpm-0.5.3/src/drpm_rpm.c:808:13: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:787:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:792:25: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:808:13: throw: if ‘rpmtdNext’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:808:13: danger: ‘files’ leaks here; was allocated at [(35)](sarif:/runs/0/results/81/codeFlows/0/threadFlows/0/locations/34)
#  806|               (linkto = rpmtdNextString(filelinktos)) == NULL ||
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|->             rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||

Error: GCC_ANALYZER_WARNING (CWE-401): [#def238]
drpm-0.5.3/src/drpm_rpm.c:809:13: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:809:13: throw: if ‘rpmtdNext’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:809:13: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/84/codeFlows/0/threadFlows/0/locations/60)
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|->             rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|               (mode = rpmtdGetUint16(filemodes)) == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def239]
drpm-0.5.3/src/drpm_rpm.c:809:13: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:787:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:792:25: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:809:13: throw: if ‘rpmtdNext’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:809:13: danger: ‘files’ leaks here; was allocated at [(35)](sarif:/runs/0/results/83/codeFlows/0/threadFlows/0/locations/34)
#  807|               (colors && (color = rpmtdNextUint32(filecolors)) == NULL) ||
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|->             rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|               (mode = rpmtdGetUint16(filemodes)) == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def240]
drpm-0.5.3/src/drpm_rpm.c:810:21: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:810:21: throw: if ‘rpmtdGetUint16’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:810:21: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/86/codeFlows/0/threadFlows/0/locations/60)
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|->             (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|               (mode = rpmtdGetUint16(filemodes)) == NULL) {
#  812|               error = DRPM_ERR_FORMAT;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def241]
drpm-0.5.3/src/drpm_rpm.c:810:21: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:787:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:792:25: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:810:21: throw: if ‘rpmtdGetUint16’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:810:21: danger: ‘files’ leaks here; was allocated at [(35)](sarif:/runs/0/results/85/codeFlows/0/threadFlows/0/locations/34)
#  808|               rpmtdNext(filerdevs) < 0 ||
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|->             (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|               (mode = rpmtdGetUint16(filemodes)) == NULL) {
#  812|               error = DRPM_ERR_FORMAT;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def242]
drpm-0.5.3/src/drpm_rpm.c:811:21: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:816:37: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:30: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:816:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:817:36: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:818:39: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:816:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:823:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:831:12: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:832:30: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:811:21: throw: if ‘rpmtdGetUint16’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:811:21: danger: ‘<unknown>’ leaks here; was allocated at [(61)](sarif:/runs/0/results/88/codeFlows/0/threadFlows/0/locations/60)
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|->             (mode = rpmtdGetUint16(filemodes)) == NULL) {
#  812|               error = DRPM_ERR_FORMAT;
#  813|               goto cleanup_files;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def243]
drpm-0.5.3/src/drpm_rpm.c:811:21: warning[-Wanalyzer-malloc-leak]: leak of ‘files’
drpm-0.5.3/src/drpm_rpm.c:751:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:764:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:765:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:766:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:767:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:768:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:769:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:770:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:771:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:764:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:776:14: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:781:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:782:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:783:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:784:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:785:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:786:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:780:9: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:787:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:792:25: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:792:18: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: following ‘false’ branch (when ‘files’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:792:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:800:24: branch_true: following ‘true’ branch (when ‘i < count’)...
drpm-0.5.3/src/drpm_rpm.c:801:21: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:802:22: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:803:20: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:804:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:805:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:806:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:807:33: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:807:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:808:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:809:13: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:810:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:801:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:811:21: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:811:21: throw: if ‘rpmtdGetUint16’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:811:21: danger: ‘files’ leaks here; was allocated at [(35)](sarif:/runs/0/results/87/codeFlows/0/threadFlows/0/locations/34)
#  809|               rpmtdNext(filemodes) < 0 ||
#  810|               (rdev = rpmtdGetUint16(filerdevs)) == NULL ||
#  811|->             (mode = rpmtdGetUint16(filemodes)) == NULL) {
#  812|               error = DRPM_ERR_FORMAT;
#  813|               goto cleanup_files;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def244]
drpm-0.5.3/src/drpm_rpm.c:891:19: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:876:5: enter_function: entry to ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:883:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:886:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:886:18: call_function: calling ‘rpm_export_header’ from ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:886:18: return_function: returning to ‘rpm_find_payload_format_offset’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:886:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:891:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:891:19: throw: if ‘parse_be32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:891:19: danger: ‘header’ leaks here; was allocated at [(8)](sarif:/runs/0/results/89/codeFlows/0/threadFlows/0/locations/7)
#  889|       error = DRPM_ERR_FORMAT;
#  890|   
#  891|->     index_count = parse_be32(header + 8);
#  892|   
#  893|       for (uint32_t i = 0, off = 16; i < index_count && off+16 <= header_size;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def245]
drpm-0.5.3/src/drpm_rpm.c:895:13: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:876:5: enter_function: entry to ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:883:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:886:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:886:18: call_function: calling ‘rpm_export_header’ from ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:886:18: return_function: returning to ‘rpm_find_payload_format_offset’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:886:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:891:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:893:36: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:895:13: throw: if ‘parse_be32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:895:13: danger: ‘header’ leaks here; was allocated at [(8)](sarif:/runs/0/results/90/codeFlows/0/threadFlows/0/locations/7)
#  893|       for (uint32_t i = 0, off = 16; i < index_count && off+16 <= header_size;
#  894|            i++, off += 16) {
#  895|->         if (parse_be32(header + off) == RPMTAG_PAYLOADFORMAT) {
#  896|               *offset = parse_be32(header + off + 8);
#  897|               error = DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def246]
drpm-0.5.3/src/drpm_rpm.c:896:23: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:876:5: enter_function: entry to ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:883:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:886:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:886:18: call_function: calling ‘rpm_export_header’ from ‘rpm_find_payload_format_offset’
drpm-0.5.3/src/drpm_rpm.c:886:18: return_function: returning to ‘rpm_find_payload_format_offset’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:886:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:891:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:893:36: branch_true: following ‘true’ branch...
drpm-0.5.3/src/drpm_rpm.c:896:23: throw: if ‘parse_be32’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:896:23: danger: ‘header’ leaks here; was allocated at [(8)](sarif:/runs/0/results/91/codeFlows/0/threadFlows/0/locations/7)
#  894|            i++, off += 16) {
#  895|           if (parse_be32(header + off) == RPMTAG_PAYLOADFORMAT) {
#  896|->             *offset = parse_be32(header + off + 8);
#  897|               error = DRPM_ERR_OK;
#  898|               goto cleanup;

Error: COMPILER_WARNING: [#def247]
drpm-0.5.3/src/drpm_rpm.c: scope_hint: At top level
drpm-0.5.3/src/drpm_rpm.c:945:60: warning[-Warray-parameter=]: argument 2 of type ‘unsigned char[16]’ with mismatched bound
#  945 | int rpm_signature_set_md5(struct rpm *rpmst, unsigned char md5[MD5_DIGEST_LENGTH])
#      |                                              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:215:41: note: previously declared as ‘unsigned char *’
#  215 | int rpm_signature_set_md5(struct rpm *, unsigned char *);
#      |                                         ^~~~~~~~~~~~~~~
#  943|   /* Sets MD5 tag in the signature.
#  944|    * Should be equal to the MD5 sum of all data following the signature. */
#  945|-> int rpm_signature_set_md5(struct rpm *rpmst, unsigned char md5[MD5_DIGEST_LENGTH])
#  946|   {
#  947|       rpmtd tag_data;

Error: COMPILER_WARNING: [#def248]
drpm-0.5.3/src/drpm_rpm.c:975:60: warning[-Warray-parameter=]: argument 2 of type ‘unsigned char[16]’ with mismatched bound
#  975 | int rpm_signature_get_md5(struct rpm *rpmst, unsigned char md5[MD5_DIGEST_LENGTH], bool *has_md5)
#      |                                              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
drpm-0.5.3/src/drpm_private.h:213:41: note: previously declared as ‘unsigned char *’
#  213 | int rpm_signature_get_md5(struct rpm *, unsigned char *, bool *);
#      |                                         ^~~~~~~~~~~~~~~
#  973|   
#  974|   /* Fetches the MD5 sum from the signature. */
#  975|-> int rpm_signature_get_md5(struct rpm *rpmst, unsigned char md5[MD5_DIGEST_LENGTH], bool *has_md5)
#  976|   {
#  977|       int error = DRPM_ERR_OK;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def249]
drpm-0.5.3/src/drpm_rpm.c:1056:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_true: following ‘true’ branch (when ‘version’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1039:19: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1056:5: throw: if ‘rpmReadConfigFiles’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1056:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/92/codeFlows/0/threadFlows/0/locations/5)
# 1054|       name = str;
# 1055|   
# 1056|->     rpmReadConfigFiles(NULL, NULL);
# 1057|   
# 1058|       trans = rpmtsCreate();

Error: GCC_ANALYZER_WARNING (CWE-401): [#def250]
drpm-0.5.3/src/drpm_rpm.c:1058:13: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_true: following ‘true’ branch (when ‘version’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1039:19: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1058:13: throw: if ‘rpmtsCreate’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1058:13: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/93/codeFlows/0/threadFlows/0/locations/5)
# 1056|       rpmReadConfigFiles(NULL, NULL);
# 1057|   
# 1058|->     trans = rpmtsCreate();
# 1059|   
# 1060|       iter = rpmtsInitIterator(trans, RPMTAG_NAME, name, 0);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def251]
drpm-0.5.3/src/drpm_rpm.c:1060:12: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_true: following ‘true’ branch (when ‘version’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1039:19: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1060:12: throw: if ‘rpmtsInitIterator’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1060:12: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/94/codeFlows/0/threadFlows/0/locations/5)
# 1058|       trans = rpmtsCreate();
# 1059|   
# 1060|->     iter = rpmtsInitIterator(trans, RPMTAG_NAME, name, 0);
# 1061|       rpmdbSetIteratorRE(iter, RPMTAG_EPOCH, RPMMIRE_STRCMP, epoch);
# 1062|       rpmdbSetIteratorRE(iter, RPMTAG_VERSION, RPMMIRE_STRCMP, version);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def252]
drpm-0.5.3/src/drpm_rpm.c:1061:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_true: following ‘true’ branch (when ‘version’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1039:19: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1061:5: throw: if ‘rpmdbSetIteratorRE’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1061:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/95/codeFlows/0/threadFlows/0/locations/5)
# 1059|   
# 1060|       iter = rpmtsInitIterator(trans, RPMTAG_NAME, name, 0);
# 1061|->     rpmdbSetIteratorRE(iter, RPMTAG_EPOCH, RPMMIRE_STRCMP, epoch);
# 1062|       rpmdbSetIteratorRE(iter, RPMTAG_VERSION, RPMMIRE_STRCMP, version);
# 1063|       rpmdbSetIteratorRE(iter, RPMTAG_RELEASE, RPMMIRE_STRCMP, release);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def253]
drpm-0.5.3/src/drpm_rpm.c:1062:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1062:5: throw: if ‘rpmdbSetIteratorRE’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1062:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/96/codeFlows/0/threadFlows/0/locations/5)
# 1060|       iter = rpmtsInitIterator(trans, RPMTAG_NAME, name, 0);
# 1061|       rpmdbSetIteratorRE(iter, RPMTAG_EPOCH, RPMMIRE_STRCMP, epoch);
# 1062|->     rpmdbSetIteratorRE(iter, RPMTAG_VERSION, RPMMIRE_STRCMP, version);
# 1063|       rpmdbSetIteratorRE(iter, RPMTAG_RELEASE, RPMMIRE_STRCMP, release);
# 1064|       if (arch)

Error: GCC_ANALYZER_WARNING (CWE-401): [#def254]
drpm-0.5.3/src/drpm_rpm.c:1063:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1063:5: throw: if ‘rpmdbSetIteratorRE’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1063:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/97/codeFlows/0/threadFlows/0/locations/5)
# 1061|       rpmdbSetIteratorRE(iter, RPMTAG_EPOCH, RPMMIRE_STRCMP, epoch);
# 1062|       rpmdbSetIteratorRE(iter, RPMTAG_VERSION, RPMMIRE_STRCMP, version);
# 1063|->     rpmdbSetIteratorRE(iter, RPMTAG_RELEASE, RPMMIRE_STRCMP, release);
# 1064|       if (arch)
# 1065|           rpmdbSetIteratorRE(iter, RPMTAG_ARCH, RPMMIRE_STRCMP, arch);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def255]
drpm-0.5.3/src/drpm_rpm.c:1065:9: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1064:8: branch_true: following ‘true’ branch (when ‘arch’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1065:9: branch_true: ...to here
drpm-0.5.3/src/drpm_rpm.c:1065:9: throw: if ‘rpmdbSetIteratorRE’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1065:9: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/98/codeFlows/0/threadFlows/0/locations/5)
# 1063|       rpmdbSetIteratorRE(iter, RPMTAG_RELEASE, RPMMIRE_STRCMP, release);
# 1064|       if (arch)
# 1065|->         rpmdbSetIteratorRE(iter, RPMTAG_ARCH, RPMMIRE_STRCMP, arch);
# 1066|   
# 1067|       if (((*rpmst)->header = rpmdbNextIterator(iter)) == NULL) {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def256]
drpm-0.5.3/src/drpm_rpm.c:1067:29: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1064:8: branch_false: following ‘false’ branch (when ‘arch’ is NULL)...
drpm-0.5.3/src/drpm_rpm.c:1067:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1067:29: throw: if ‘rpmdbNextIterator’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1067:29: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/99/codeFlows/0/threadFlows/0/locations/5)
# 1065|           rpmdbSetIteratorRE(iter, RPMTAG_ARCH, RPMMIRE_STRCMP, arch);
# 1066|   
# 1067|->     if (((*rpmst)->header = rpmdbNextIterator(iter)) == NULL) {
# 1068|           error = DRPM_ERR_NOINSTALL;
# 1069|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def257]
drpm-0.5.3/src/drpm_rpm.c:1075:29: warning[-Wanalyzer-malloc-leak]: leak of ‘header’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1067:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1072:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1072:18: call_function: calling ‘rpm_export_header’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1072:18: return_function: returning to ‘rpm_read_header’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:1072:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1075:29: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1075:29: throw: if ‘headerImport’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1075:29: danger: ‘header’ leaks here; was allocated at [(21)](sarif:/runs/0/results/100/codeFlows/0/threadFlows/0/locations/20)
# 1073|           goto cleanup_fail;
# 1074|   
# 1075|->     if (((*rpmst)->header = headerImport(header + sizeof(rpm_header_magic), 0, HEADERIMPORT_COPY)) == NULL) {
# 1076|           error = DRPM_ERR_OTHER;
# 1077|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def258]
drpm-0.5.3/src/drpm_rpm.c:1075:29: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1034:8: branch_false: following ‘false’ branch (when ‘str != version’)...
drpm-0.5.3/src/drpm_rpm.c:1038:8: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1040:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1044:10: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1067:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1072:18: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1072:18: call_function: calling ‘rpm_export_header’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1072:18: return_function: returning to ‘rpm_read_header’ from ‘rpm_export_header’
drpm-0.5.3/src/drpm_rpm.c:1072:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1075:29: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1075:29: throw: if ‘headerImport’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1075:29: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/101/codeFlows/0/threadFlows/0/locations/5)
# 1073|           goto cleanup_fail;
# 1074|   
# 1075|->     if (((*rpmst)->header = headerImport(header + sizeof(rpm_header_magic), 0, HEADERIMPORT_COPY)) == NULL) {
# 1076|           error = DRPM_ERR_OTHER;
# 1077|           goto cleanup_fail;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def259]
drpm-0.5.3/src/drpm_rpm.c:1090:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1083:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1089:1: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1090:5: throw: if ‘rpmdbFreeIterator’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1090:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/102/codeFlows/0/threadFlows/0/locations/5)
# 1088|   
# 1089|   cleanup:
# 1090|->     rpmdbFreeIterator(iter);
# 1091|       rpmtsFree(trans);
# 1092|       free(str);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def260]
drpm-0.5.3/src/drpm_rpm.c:1091:5: warning[-Wanalyzer-malloc-leak]: leak of ‘str’
drpm-0.5.3/src/drpm_rpm.c:1002:5: enter_function: entry to ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1015:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1018:19: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1018:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1019:23: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1019:16: acquire_memory: allocated here
drpm-0.5.3/src/drpm_rpm.c:1018:9: branch_false: following ‘false’ branch (when ‘str’ is non-NULL)...
drpm-0.5.3/src/drpm_rpm.c:1024:5: call_function: inlined call to ‘rpm_init’ from ‘rpm_read_header’
drpm-0.5.3/src/drpm_rpm.c:1028:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_rpm.c:1032:6: branch_false: ...to here
drpm-0.5.3/src/drpm_rpm.c:1091:5: throw: if ‘rpmtsFree’ throws an exception...
drpm-0.5.3/src/drpm_rpm.c:1091:5: danger: ‘str’ leaks here; was allocated at [(6)](sarif:/runs/0/results/103/codeFlows/0/threadFlows/0/locations/5)
# 1089|   cleanup:
# 1090|       rpmdbFreeIterator(iter);
# 1091|->     rpmtsFree(trans);
# 1092|       free(str);
# 1093|   

Error: GCC_ANALYZER_WARNING (CWE-122): [#def261]
drpm-0.5.3/src/drpm_search.c:413:9: warning[-Wanalyzer-out-of-bounds]: heap-based buffer overflow
drpm-0.5.3/src/drpm_search.c:390:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_search.c:393:17: branch_false: ...to here
drpm-0.5.3/src/drpm_search.c:393:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_search.c:394:14: branch_false: ...to here
drpm-0.5.3/src/drpm_search.c:393:9: branch_false: following ‘false’ branch (when ‘I’ is non-NULL)...
drpm-0.5.3/src/drpm_search.c:395:14: branch_false: ...to here
drpm-0.5.3/src/drpm_search.c:393:9: branch_false: following ‘false’ branch (when ‘V’ is non-NULL)...
drpm-0.5.3/src/drpm_search.c:400:8: branch_false: ...to here
drpm-0.5.3/src/drpm_search.c:400:8: branch_true: following ‘true’ branch (when ‘old_len > 16777215’)...
drpm-0.5.3/src/drpm_search.c:404:11: branch_true: ...to here
drpm-0.5.3/src/drpm_search.c:407:28: branch_true: following ‘true’ branch (when ‘i < old_len’)...
drpm-0.5.3/src/drpm_search.c:408:18: branch_true: ...to here
drpm-0.5.3/src/drpm_search.c:407:28: branch_true: following ‘true’ branch (when ‘i < old_len’)...
drpm-0.5.3/src/drpm_search.c:408:18: branch_true: ...to here
drpm-0.5.3/src/drpm_search.c:413:9: danger: write of 8 bytes at offset ‘old_len * 8 + 18446744073709551600’ exceeds the buffer
#  411|           }
#  412|           oldv = (oldv & 0xFFFF) << 8;
#  413|->         V[old_len - 2] = oldv + 2;
#  414|           oldv = (oldv & 0xFFFF) << 8;
#  415|           V[old_len - 1] = oldv + 2;

Error: COMPILER_WARNING: [#def262]
drpm-0.5.3/src/drpm_utils.c:37:41: warning[-Warray-parameter=]: argument 1 of type ‘const unsigned char[2]’ with mismatched bound
#   37 | uint16_t parse_be16(const unsigned char buffer[2])
#      |                     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
drpm-0.5.3/src/drpm_utils.c:23: included_from: Included from here.
drpm-0.5.3/src/drpm_private.h:236:21: note: previously declared as ‘const unsigned char *’
#  236 | uint16_t parse_be16(const unsigned char *);
#      |                     ^~~~~~~~~~~~~~~~~~~~~
#   35|   
#   36|   /* Reads 16-byte integer in network byte order buffer. */
#   37|-> uint16_t parse_be16(const unsigned char buffer[2])
#   38|   {
#   39|       return (0xFF00 & (buffer[0] << 8)) | (0x00FF & buffer[1]);

Error: COMPILER_WARNING: [#def263]
drpm-0.5.3/src/drpm_utils.c:43:41: warning[-Warray-parameter=]: argument 1 of type ‘const unsigned char[4]’ with mismatched bound
#   43 | uint32_t parse_be32(const unsigned char buffer[4])
#      |                     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
drpm-0.5.3/src/drpm_private.h:237:21: note: previously declared as ‘const unsigned char *’
#  237 | uint32_t parse_be32(const unsigned char *);
#      |                     ^~~~~~~~~~~~~~~~~~~~~
#   41|   
#   42|   /* Reads 32-byte integer in network byte order from buffer. */
#   43|-> uint32_t parse_be32(const unsigned char buffer[4])
#   44|   {
#   45|       return (0xFF000000 & (buffer[0] << 24)) |

Error: COMPILER_WARNING: [#def264]
drpm-0.5.3/src/drpm_utils.c:52:41: warning[-Warray-parameter=]: argument 1 of type ‘const unsigned char[8]’ with mismatched bound
#   52 | uint64_t parse_be64(const unsigned char buffer[8])
#      |                     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
drpm-0.5.3/src/drpm_private.h:238:21: note: previously declared as ‘const unsigned char *’
#  238 | uint64_t parse_be64(const unsigned char *);
#      |                     ^~~~~~~~~~~~~~~~~~~~~
#   50|   
#   51|   /* Reads 64-byte integer in network byte order from buffer. */
#   52|-> uint64_t parse_be64(const unsigned char buffer[8])
#   53|   {
#   54|       return (0xFF00000000000000 & ((uint64_t)buffer[0] << 56)) |

Error: COMPILER_WARNING: [#def265]
drpm-0.5.3/src/drpm_utils.c:65:45: warning[-Warray-parameter=]: argument 2 of type ‘unsigned char[4]’ with mismatched bound
#   65 | void create_be32(uint32_t in, unsigned char out[4])
#      |                               ~~~~~~~~~~~~~~^~~~~~
drpm-0.5.3/src/drpm_private.h:232:28: note: previously declared as ‘unsigned char *’
#  232 | void create_be32(uint32_t, unsigned char *);
#      |                            ^~~~~~~~~~~~~~~
#   63|   
#   64|   /* Writes 32-byte integer in network byte order to buffer. */
#   65|-> void create_be32(uint32_t in, unsigned char out[4])
#   66|   {
#   67|       out[0] = in >> 24;

Error: COMPILER_WARNING: [#def266]
drpm-0.5.3/src/drpm_utils.c:74:45: warning[-Warray-parameter=]: argument 2 of type ‘unsigned char[8]’ with mismatched bound
#   74 | void create_be64(uint64_t in, unsigned char out[8])
#      |                               ~~~~~~~~~~~~~~^~~~~~
drpm-0.5.3/src/drpm_private.h:233:28: note: previously declared as ‘unsigned char *’
#  233 | void create_be64(uint64_t, unsigned char *);
#      |                            ^~~~~~~~~~~~~~~
#   72|   
#   73|   /* Writes 64-byte integer in network byte order to buffer. */
#   74|-> void create_be64(uint64_t in, unsigned char out[8])
#   75|   {
#   76|       out[0] = in >> 56;

Error: COMPILER_WARNING (CWE-477): [#def267]
drpm-0.5.3/src/drpm_utils.c: scope_hint: In function ‘md5_update_be32’
drpm-0.5.3/src/drpm_utils.c:92:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#   92 |     return MD5_Update(md5, be32, 4);
#      |     ^~~~~~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#   90|       create_be32(number, be32);
#   91|   
#   92|->     return MD5_Update(md5, be32, 4);
#   93|   }
#   94|   

Error: COMPILER_WARNING (CWE-477): [#def268]
drpm-0.5.3/src/drpm_utils.c:92:5: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#   90|       create_be32(number, be32);
#   91|   
#   92|->     return MD5_Update(md5, be32, 4);
#   93|   }
#   94|   

Error: COMPILER_WARNING (CWE-477): [#def269]
drpm-0.5.3/src/drpm_write.c: scope_hint: In function ‘write_deltarpm’
drpm-0.5.3/src/drpm_write.c:214:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  214 |         if (MD5_Init(&md5) != 1 ||
#      |         ^~
drpm-0.5.3/src/drpm_private.h:33: included_from: Included from here.
drpm-0.5.3/src/drpm_write.c:22: included_from: Included from here.
/usr/include/openssl/md5.h:49:27: note: declared here
#   49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c);
#      |                           ^~~~~~~~
#  212|               return error;
#  213|   
#  214|->         if (MD5_Init(&md5) != 1 ||
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def270]
drpm-0.5.3/src/drpm_write.c:214:9: warning[-Wdeprecated-declarations]: ‘MD5_Init’ is deprecated: Since OpenSSL 3.0
#  212|               return error;
#  213|   
#  214|->         if (MD5_Init(&md5) != 1 ||
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||

Error: COMPILER_WARNING (CWE-477): [#def271]
drpm-0.5.3/src/drpm_write.c:215:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  215 |             MD5_Update(&md5, header, header_size) != 1 ||
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  213|   
#  214|           if (MD5_Init(&md5) != 1 ||
#  215|->             MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|               MD5_Final(md5_digest, &md5) != 1)

Error: COMPILER_WARNING (CWE-477): [#def272]
drpm-0.5.3/src/drpm_write.c:215:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  213|   
#  214|           if (MD5_Init(&md5) != 1 ||
#  215|->             MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|               MD5_Final(md5_digest, &md5) != 1)

Error: COMPILER_WARNING (CWE-477): [#def273]
drpm-0.5.3/src/drpm_write.c:216:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  216 |             MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#      |             ^~~~~~~~~~
/usr/include/openssl/md5.h:50:27: note: declared here
#   50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len);
#      |                           ^~~~~~~~~~
#  214|           if (MD5_Init(&md5) != 1 ||
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|->             MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|               MD5_Final(md5_digest, &md5) != 1)
#  218|               return DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def274]
drpm-0.5.3/src/drpm_write.c:216:13: warning[-Wdeprecated-declarations]: ‘MD5_Update’ is deprecated: Since OpenSSL 3.0
#  214|           if (MD5_Init(&md5) != 1 ||
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|->             MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|               MD5_Final(md5_digest, &md5) != 1)
#  218|               return DRPM_ERR_OTHER;

Error: COMPILER_WARNING (CWE-477): [#def275]
drpm-0.5.3/src/drpm_write.c:217:13: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  217 |             MD5_Final(md5_digest, &md5) != 1)
#      |             ^~~~~~~~~
/usr/include/openssl/md5.h:51:27: note: declared here
#   51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c);
#      |                           ^~~~~~~~~
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|->             MD5_Final(md5_digest, &md5) != 1)
#  218|               return DRPM_ERR_OTHER;
#  219|   

Error: COMPILER_WARNING (CWE-477): [#def276]
drpm-0.5.3/src/drpm_write.c:217:13: warning[-Wdeprecated-declarations]: ‘MD5_Final’ is deprecated: Since OpenSSL 3.0
#  215|               MD5_Update(&md5, header, header_size) != 1 ||
#  216|               MD5_Update(&md5, strm_data, strm_data_len) != 1 ||
#  217|->             MD5_Final(md5_digest, &md5) != 1)
#  218|               return DRPM_ERR_OTHER;
#  219|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def277]
drpm-0.5.3/src/drpm_write.c:235:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(*delta.filename, 438)’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:232:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:232:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:235:13: throw: if ‘write’ throws an exception...
drpm-0.5.3/src/drpm_write.c:235:13: danger: ‘creat(*delta.filename, 438)’ leaks here; was opened at [(37)](sarif:/runs/0/results/4/codeFlows/0/threadFlows/0/locations/36)
#  233|               return DRPM_ERR_IO;
#  234|   
#  235|->         if (write(filedesc, "drpm", 4) != 4 ||
#  236|               write(filedesc, version, 4) != 4) {
#  237|               error = DRPM_ERR_IO;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def278]
drpm-0.5.3/src/drpm_write.c:236:13: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(*delta.filename, 438)’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:232:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:232:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:235:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:236:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:236:13: throw: if ‘write’ throws an exception...
drpm-0.5.3/src/drpm_write.c:236:13: danger: ‘creat(*delta.filename, 438)’ leaks here; was opened at [(37)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/36)
#  234|   
#  235|           if (write(filedesc, "drpm", 4) != 4 ||
#  236|->             write(filedesc, version, 4) != 4) {
#  237|               error = DRPM_ERR_IO;
#  238|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def279]
drpm-0.5.3/src/drpm_write.c:241:31: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘creat(*delta.filename, 438)’
drpm-0.5.3/src/drpm_write.c:67:5: enter_function: entry to ‘write_deltarpm’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:232:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:232:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:235:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:236:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:241:31: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:242:22: call_function: calling ‘write_be32’ from ‘write_deltarpm’
#  239|           }
#  240|   
#  241|->         tgt_nevr_len = strlen(delta->head.tgt_nevr) + 1;
#  242|           if ((error = write_be32(filedesc, tgt_nevr_len)) != DRPM_ERR_OK)
#  243|               goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def280]
drpm-0.5.3/src/drpm_write.c:258:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:211:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:215:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:216:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:217:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:220:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:221:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:222:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:223:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:224:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:227:25: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:227:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:227:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:258:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:258:9: throw: if ‘write’ throws an exception...
drpm-0.5.3/src/drpm_write.c:258:9: danger: ‘filedesc’ leaks here; was opened at [(57)](sarif:/runs/0/results/11/codeFlows/0/threadFlows/0/locations/56)
#  256|       }
#  257|   
#  258|->     if (write(filedesc, strm_data, strm_data_len) != (ssize_t)strm_data_len)
#  259|           error = DRPM_ERR_IO;
#  260|   

Error: GCC_ANALYZER_WARNING: [#def281]
drpm-0.5.3/src/drpm_write.c:258:9: warning[-Wanalyzer-fd-use-without-check]: ‘write’ on possibly invalid file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:258:9: danger: ‘filedesc’ could be invalid
#  256|       }
#  257|   
#  258|->     if (write(filedesc, strm_data, strm_data_len) != (ssize_t)strm_data_len)
#  259|           error = DRPM_ERR_IO;
#  260|   

Error: GCC_ANALYZER_WARNING (CWE-775): [#def282]
drpm-0.5.3/src/drpm_write.c:263:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:211:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:215:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:216:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:217:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:214:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:220:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:221:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:222:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:223:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:224:22: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:220:13: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:227:25: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:227:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:227:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:258:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:258:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:261:1: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:262:8: branch_true: following ‘true’ branch (when ‘error == 0’)...
drpm-0.5.3/src/drpm_write.c:263:17: branch_true: ...to here
drpm-0.5.3/src/drpm_write.c:263:17: throw: if ‘compstrm_destroy’ throws an exception...
drpm-0.5.3/src/drpm_write.c:263:17: danger: ‘filedesc’ leaks here; was opened at [(57)](sarif:/runs/0/results/12/codeFlows/0/threadFlows/0/locations/56)
#  261|   cleanup:
#  262|       if (error == DRPM_ERR_OK)
#  263|->         error = compstrm_destroy(&stream);
#  264|       else
#  265|           compstrm_destroy(&stream);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def283]
drpm-0.5.3/src/drpm_write.c:265:9: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:232:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:232:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:265:9: throw: if ‘compstrm_destroy’ throws an exception...
drpm-0.5.3/src/drpm_write.c:265:9: danger: ‘filedesc’ leaks here; was opened at [(37)](sarif:/runs/0/results/13/codeFlows/0/threadFlows/0/locations/36)
#  263|           error = compstrm_destroy(&stream);
#  264|       else
#  265|->         compstrm_destroy(&stream);
#  266|   
#  267|       free(header);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def284]
drpm-0.5.3/src/drpm_write.c:269:5: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘filedesc’
drpm-0.5.3/src/drpm_write.c:85:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:88:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:97:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:98:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:99:55: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:100:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:101:62: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:102:60: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:96:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:105:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:141:65: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:142:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:143:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:144:18: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:140:9: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:147:23: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:171:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:178:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:183:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:187:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:188:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:195:9: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:206:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:209:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:232:25: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:232:12: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:235:13: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:269:5: throw: if ‘close’ throws an exception...
drpm-0.5.3/src/drpm_write.c:269:5: danger: ‘filedesc’ leaks here; was opened at [(37)](sarif:/runs/0/results/15/codeFlows/0/threadFlows/0/locations/36)
#  267|       free(header);
#  268|       free(strm_data);
#  269|->     close(filedesc);
#  270|   
#  271|       return error;

Error: GCC_ANALYZER_WARNING (CWE-775): [#def285]
drpm-0.5.3/src/drpm_write.c:283:28: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "w")’
drpm-0.5.3/src/drpm_write.c:280:17: acquire_resource: opened here
drpm-0.5.3/src/drpm_write.c:280:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:283:28: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:283:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm_write.c:288:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:288:5: throw: if ‘dump_hex’ throws an exception...
drpm-0.5.3/src/drpm_write.c:283:28: danger: ‘fopen(filename, "w")’ leaks here; was opened at [(1)](sarif:/runs/0/results/17/codeFlows/0/threadFlows/0/locations/0)
#  281|           return DRPM_ERR_IO;
#  282|   
#  283|->     if ((sequence = malloc(delta->sequence_len * 2 + 1)) == NULL) {
#  284|           error = DRPM_ERR_MEMORY;
#  285|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def286]
drpm-0.5.3/src/drpm_write.c:283:28: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "w")’
drpm-0.5.3/src/drpm_write.c:280:17: acquire_memory: allocated here
drpm-0.5.3/src/drpm_write.c:280:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:283:28: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:283:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm_write.c:288:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:288:5: throw: if ‘dump_hex’ throws an exception...
drpm-0.5.3/src/drpm_write.c:283:28: danger: ‘fopen(filename, "w")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/18/codeFlows/0/threadFlows/0/locations/0)
#  281|           return DRPM_ERR_IO;
#  282|   
#  283|->     if ((sequence = malloc(delta->sequence_len * 2 + 1)) == NULL) {
#  284|           error = DRPM_ERR_MEMORY;
#  285|           goto cleanup;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def287]
drpm-0.5.3/src/drpm_write.c:288:5: warning[-Wanalyzer-malloc-leak]: leak of ‘sequence’
drpm-0.5.3/src/drpm_write.c:280:8: branch_false: following ‘false’ branch...
drpm-0.5.3/src/drpm_write.c:283:28: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:283:21: acquire_memory: allocated here
drpm-0.5.3/src/drpm_write.c:283:8: branch_false: following ‘false’ branch (when ‘sequence’ is non-NULL)...
drpm-0.5.3/src/drpm_write.c:288:5: branch_false: ...to here
drpm-0.5.3/src/drpm_write.c:288:5: throw: if ‘dump_hex’ throws an exception...
drpm-0.5.3/src/drpm_write.c:288:5: danger: ‘sequence’ leaks here; was allocated at [(3)](sarif:/runs/0/results/19/codeFlows/0/threadFlows/0/locations/2)
#  286|       }
#  287|   
#  288|->     dump_hex(sequence, delta->sequence, delta->sequence_len);
#  289|   
#  290|       fprintf(file, "%s-%s\n", delta->src_nevr, sequence);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def288]
drpm-0.5.3/test/drpm_api_tests.c:927:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen("seqfile.txt", "r")’
drpm-0.5.3/test/drpm_api_tests.c:924:17: acquire_resource: opened here
drpm-0.5.3/test/drpm_api_tests.c:924:8: branch_false: following ‘false’ branch...
drpm-0.5.3/test/drpm_api_tests.c:927:16: branch_false: ...to here
drpm-0.5.3/test/drpm_api_tests.c:927:16: throw: if ‘getline’ throws an exception...
drpm-0.5.3/test/drpm_api_tests.c:927:16: danger: ‘fopen("seqfile.txt", "r")’ leaks here; was opened at [(1)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/0)
#  925|           return -1;
#  926|   
#  927|->     line_len = getline(&sequence, &alloced, file);
#  928|       fclose(file);
#  929|   

Error: GCC_ANALYZER_WARNING (CWE-401): [#def289]
drpm-0.5.3/test/drpm_api_tests.c:927:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen("seqfile.txt", "r")’
drpm-0.5.3/test/drpm_api_tests.c:924:17: acquire_memory: allocated here
drpm-0.5.3/test/drpm_api_tests.c:924:8: branch_false: following ‘false’ branch...
drpm-0.5.3/test/drpm_api_tests.c:927:16: branch_false: ...to here
drpm-0.5.3/test/drpm_api_tests.c:927:16: throw: if ‘getline’ throws an exception...
drpm-0.5.3/test/drpm_api_tests.c:927:16: danger: ‘fopen("seqfile.txt", "r")’ leaks here; was allocated at [(1)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/0)
#  925|           return -1;
#  926|   
#  927|->     line_len = getline(&sequence, &alloced, file);
#  928|       fclose(file);
#  929|   

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-121.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-namedrpm-0.5.3-1.fc44
store-results-to/tmp/tmpbafzx2pr/drpm-0.5.3-1.fc44.tar.xz
time-created2026-01-08 15:54:11
time-finished2026-01-08 15:55:47
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmpbafzx2pr/drpm-0.5.3-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpbafzx2pr/drpm-0.5.3-1.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9