libgcrypt-1.12.2-1.fc45

List of Findings

Error: SHELLCHECK_WARNING (CWE-563): [#def1]
/usr/bin/libgcrypt-config:78:6: warning[SC2034]: optarg appears unused. Verify use (or export if used externally).
#   76|   	    ;;
#   77|   	*)
#   78|-> 	    optarg=""
#   79|   	    ;;
#   80|       esac

Error: GCC_ANALYZER_WARNING (CWE-457): [#def2]
libgcrypt-1.12.2/cipher/des.c:653:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*keys'
libgcrypt-1.12.2/cipher/des.c:1362:1: enter_function: entry to 'selftest_fips'
libgcrypt-1.12.2/cipher/des.c:1370:12: call_function: calling 'selftest' from 'selftest_fips'
#  651|     u32 *keys;
#  652|   
#  653|->   keys = mode ? ctx->decrypt_subkeys : ctx->encrypt_subkeys;
#  654|   
#  655|     READ_64BIT_DATA (from, left, right)

Error: CPPCHECK_WARNING (CWE-758): [#def3]
libgcrypt-1.12.2/cipher/dilithium-common.c:207: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  205|     a1  = (a + 127) >> 7;
#  206|     a1  = (a1*11275 + (1 << 23)) >> 24;
#  207|->   a1 ^= ((43 - a1) >> 31) & a1;
#  208|   
#  209|     *a0  = a - a1*2*GAMMA2_88;

Error: CPPCHECK_WARNING (CWE-758): [#def4]
libgcrypt-1.12.2/cipher/dilithium-common.c:210: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  208|   
#  209|     *a0  = a - a1*2*GAMMA2_88;
#  210|->   *a0 -= (((Q-1)/2 - *a0) >> 31) & Q;
#  211|     return a1;
#  212|   }

Error: CPPCHECK_WARNING (CWE-758): [#def5]
libgcrypt-1.12.2/cipher/dilithium-common.c:223: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  221|   
#  222|     *a0  = a - a1*2*GAMMA2_32;
#  223|->   *a0 -= (((Q-1)/2 - *a0) >> 31) & Q;
#  224|     return a1;
#  225|   }

Error: CPPCHECK_WARNING (CWE-758): [#def6]
libgcrypt-1.12.2/cipher/dilithium-common.c:616: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
#  614|     for(i = 0; i < N; ++i) {
#  615|       /* Absolute value */
#  616|->     t = a->coeffs[i] >> 31;
#  617|       t = a->coeffs[i] - (t & 2*a->coeffs[i]);
#  618|   

Error: CPPCHECK_WARNING (CWE-758): [#def7]
libgcrypt-1.12.2/cipher/dilithium-common.c:1365: error[shiftTooManyBitsSigned]: Shifting signed 32-bit value by 31 bits is undefined behaviour
# 1363|   **************************************************/
# 1364|   int32_t caddq(int32_t a) {
# 1365|->   a += (a >> 31) & Q;
# 1366|     return a;
# 1367|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
libgcrypt-1.12.2/cipher/ecc-eddsa.c:42:13: warning[-Wanalyzer-null-dereference]: dereference of NULL 'buffer'
libgcrypt-1.12.2/cipher/ecc-eddsa.c:670:1: enter_function: entry to '_gcry_ecc_eddsa_sign'
libgcrypt-1.12.2/cipher/ecc-eddsa.c:676:18: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:679:18: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:681:18: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:711:6: branch_false: following 'false' branch...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:722:6: branch_false: following 'false' branch (when 'rc == 0')...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:724:3: branch_false: ...to here
libgcrypt-1.12.2/cipher/ecc-eddsa.c:724:3: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:735:8: call_function: calling '_gcry_ecc_eddsa_encodepoint' from '_gcry_ecc_eddsa_sign'
libgcrypt-1.12.2/cipher/ecc-eddsa.c:735:8: return_function: returning to '_gcry_ecc_eddsa_sign' from '_gcry_ecc_eddsa_encodepoint'
libgcrypt-1.12.2/cipher/ecc-eddsa.c:736:6: branch_false: following 'false' branch (when 'rc == 0')...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:738:7: branch_false: ...to here
libgcrypt-1.12.2/cipher/ecc-eddsa.c:760:10: branch_false: following 'false' branch...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:768:3: branch_false: ...to here
libgcrypt-1.12.2/cipher/ecc-eddsa.c:768:3: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:772:6: branch_true: following 'true' branch...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:774:7: branch_true: ...to here
libgcrypt-1.12.2/cipher/ecc-eddsa.c:791:8: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:793:6: branch_false: following 'false' branch (when 'rc == 0')...
libgcrypt-1.12.2/cipher/ecc-eddsa.c:795:3: branch_false: ...to here
libgcrypt-1.12.2/cipher/ecc-eddsa.c:795:3: release_memory: 'digest' is NULL
libgcrypt-1.12.2/cipher/ecc-eddsa.c:795:3: call_function: calling 'reverse_buffer' from '_gcry_ecc_eddsa_sign'
#   40|     for (i=0; i < length/2; i++)
#   41|       {
#   42|->       tmp = buffer[i];
#   43|         buffer[i] = buffer[length-1-i];
#   44|         buffer[length-1-i] = tmp;

Error: CPPCHECK_WARNING (CWE-457): [#def9]
libgcrypt-1.12.2/cipher/poly1305.c:838: warning[uninitvar]: Uninitialized variable: all_msg
#  836|         for (j = 0; j < i; j++)
#  837|   	all_msg[j] = i;
#  838|->       poly1305_auth (mac, all_msg, i, all_key);
#  839|         _gcry_poly1305_update (&total_ctx, mac, 16);
#  840|       }

Error: CPPCHECK_WARNING (CWE-758): [#def10]
libgcrypt-1.12.2/cipher/seed.c:350: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  348|     x4 = GETU32 (inbuf+12);
#  349|   
#  350|->   OP (x1, x2, x3, x4, 0);
#  351|     OP (x3, x4, x1, x2, 2);
#  352|     OP (x1, x2, x3, x4, 4);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def11]
libgcrypt-1.12.2/cipher/seed.c:350:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*ctx.keyschedule[0]'
libgcrypt-1.12.2/cipher/seed.c:431:1: enter_function: entry to 'selftest'
libgcrypt-1.12.2/cipher/seed.c:451:3: call_function: calling 'seed_setkey' from 'selftest'
libgcrypt-1.12.2/cipher/seed.c:451:3: return_function: returning to 'selftest' from 'seed_setkey'
libgcrypt-1.12.2/cipher/seed.c:452:3: call_function: inlined call to 'seed_encrypt' from 'selftest'
#  348|     x4 = GETU32 (inbuf+12);
#  349|   
#  350|->   OP (x1, x2, x3, x4, 0);
#  351|     OP (x3, x4, x1, x2, 2);
#  352|     OP (x1, x2, x3, x4, 4);

Error: CPPCHECK_WARNING (CWE-758): [#def12]
libgcrypt-1.12.2/cipher/seed.c:351: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  349|   
#  350|     OP (x1, x2, x3, x4, 0);
#  351|->   OP (x3, x4, x1, x2, 2);
#  352|     OP (x1, x2, x3, x4, 4);
#  353|     OP (x3, x4, x1, x2, 6);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def13]
libgcrypt-1.12.2/cipher/seed.c:351:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*ctx.keyschedule[2]'
libgcrypt-1.12.2/cipher/seed.c:431:1: enter_function: entry to 'selftest'
libgcrypt-1.12.2/cipher/seed.c:451:3: call_function: calling 'seed_setkey' from 'selftest'
#  349|   
#  350|     OP (x1, x2, x3, x4, 0);
#  351|->   OP (x3, x4, x1, x2, 2);
#  352|     OP (x1, x2, x3, x4, 4);
#  353|     OP (x3, x4, x1, x2, 6);

Error: CPPCHECK_WARNING (CWE-758): [#def14]
libgcrypt-1.12.2/cipher/seed.c:352: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  350|     OP (x1, x2, x3, x4, 0);
#  351|     OP (x3, x4, x1, x2, 2);
#  352|->   OP (x1, x2, x3, x4, 4);
#  353|     OP (x3, x4, x1, x2, 6);
#  354|     OP (x1, x2, x3, x4, 8);

Error: CPPCHECK_WARNING (CWE-758): [#def15]
libgcrypt-1.12.2/cipher/seed.c:353: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  351|     OP (x3, x4, x1, x2, 2);
#  352|     OP (x1, x2, x3, x4, 4);
#  353|->   OP (x3, x4, x1, x2, 6);
#  354|     OP (x1, x2, x3, x4, 8);
#  355|     OP (x3, x4, x1, x2, 10);

Error: CPPCHECK_WARNING (CWE-758): [#def16]
libgcrypt-1.12.2/cipher/seed.c:354: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  352|     OP (x1, x2, x3, x4, 4);
#  353|     OP (x3, x4, x1, x2, 6);
#  354|->   OP (x1, x2, x3, x4, 8);
#  355|     OP (x3, x4, x1, x2, 10);
#  356|     OP (x1, x2, x3, x4, 12);

Error: CPPCHECK_WARNING (CWE-758): [#def17]
libgcrypt-1.12.2/cipher/seed.c:355: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  353|     OP (x3, x4, x1, x2, 6);
#  354|     OP (x1, x2, x3, x4, 8);
#  355|->   OP (x3, x4, x1, x2, 10);
#  356|     OP (x1, x2, x3, x4, 12);
#  357|     OP (x3, x4, x1, x2, 14);

Error: CPPCHECK_WARNING (CWE-758): [#def18]
libgcrypt-1.12.2/cipher/seed.c:356: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  354|     OP (x1, x2, x3, x4, 8);
#  355|     OP (x3, x4, x1, x2, 10);
#  356|->   OP (x1, x2, x3, x4, 12);
#  357|     OP (x3, x4, x1, x2, 14);
#  358|     OP (x1, x2, x3, x4, 16);

Error: CPPCHECK_WARNING (CWE-758): [#def19]
libgcrypt-1.12.2/cipher/seed.c:357: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  355|     OP (x3, x4, x1, x2, 10);
#  356|     OP (x1, x2, x3, x4, 12);
#  357|->   OP (x3, x4, x1, x2, 14);
#  358|     OP (x1, x2, x3, x4, 16);
#  359|     OP (x3, x4, x1, x2, 18);

Error: CPPCHECK_WARNING (CWE-758): [#def20]
libgcrypt-1.12.2/cipher/seed.c:358: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  356|     OP (x1, x2, x3, x4, 12);
#  357|     OP (x3, x4, x1, x2, 14);
#  358|->   OP (x1, x2, x3, x4, 16);
#  359|     OP (x3, x4, x1, x2, 18);
#  360|     OP (x1, x2, x3, x4, 20);

Error: CPPCHECK_WARNING (CWE-758): [#def21]
libgcrypt-1.12.2/cipher/seed.c:359: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  357|     OP (x3, x4, x1, x2, 14);
#  358|     OP (x1, x2, x3, x4, 16);
#  359|->   OP (x3, x4, x1, x2, 18);
#  360|     OP (x1, x2, x3, x4, 20);
#  361|     OP (x3, x4, x1, x2, 22);

Error: CPPCHECK_WARNING (CWE-758): [#def22]
libgcrypt-1.12.2/cipher/seed.c:360: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  358|     OP (x1, x2, x3, x4, 16);
#  359|     OP (x3, x4, x1, x2, 18);
#  360|->   OP (x1, x2, x3, x4, 20);
#  361|     OP (x3, x4, x1, x2, 22);
#  362|     OP (x1, x2, x3, x4, 24);

Error: CPPCHECK_WARNING (CWE-758): [#def23]
libgcrypt-1.12.2/cipher/seed.c:361: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  359|     OP (x3, x4, x1, x2, 18);
#  360|     OP (x1, x2, x3, x4, 20);
#  361|->   OP (x3, x4, x1, x2, 22);
#  362|     OP (x1, x2, x3, x4, 24);
#  363|     OP (x3, x4, x1, x2, 26);

Error: CPPCHECK_WARNING (CWE-758): [#def24]
libgcrypt-1.12.2/cipher/seed.c:362: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  360|     OP (x1, x2, x3, x4, 20);
#  361|     OP (x3, x4, x1, x2, 22);
#  362|->   OP (x1, x2, x3, x4, 24);
#  363|     OP (x3, x4, x1, x2, 26);
#  364|     OP (x1, x2, x3, x4, 28);

Error: CPPCHECK_WARNING (CWE-758): [#def25]
libgcrypt-1.12.2/cipher/seed.c:363: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  361|     OP (x3, x4, x1, x2, 22);
#  362|     OP (x1, x2, x3, x4, 24);
#  363|->   OP (x3, x4, x1, x2, 26);
#  364|     OP (x1, x2, x3, x4, 28);
#  365|     OP (x3, x4, x1, x2, 30);

Error: CPPCHECK_WARNING (CWE-758): [#def26]
libgcrypt-1.12.2/cipher/seed.c:364: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  362|     OP (x1, x2, x3, x4, 24);
#  363|     OP (x3, x4, x1, x2, 26);
#  364|->   OP (x1, x2, x3, x4, 28);
#  365|     OP (x3, x4, x1, x2, 30);
#  366|   

Error: CPPCHECK_WARNING (CWE-758): [#def27]
libgcrypt-1.12.2/cipher/seed.c:365: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  363|     OP (x3, x4, x1, x2, 26);
#  364|     OP (x1, x2, x3, x4, 28);
#  365|->   OP (x3, x4, x1, x2, 30);
#  366|   
#  367|     PUTU32 (outbuf, x3);

Error: CPPCHECK_WARNING (CWE-758): [#def28]
libgcrypt-1.12.2/cipher/seed.c:396: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  394|     x4 = GETU32 (inbuf+12);
#  395|   
#  396|->   OP (x1, x2, x3, x4, 30);
#  397|     OP (x3, x4, x1, x2, 28);
#  398|     OP (x1, x2, x3, x4, 26);

Error: CPPCHECK_WARNING (CWE-758): [#def29]
libgcrypt-1.12.2/cipher/seed.c:397: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  395|   
#  396|     OP (x1, x2, x3, x4, 30);
#  397|->   OP (x3, x4, x1, x2, 28);
#  398|     OP (x1, x2, x3, x4, 26);
#  399|     OP (x3, x4, x1, x2, 24);

Error: CPPCHECK_WARNING (CWE-758): [#def30]
libgcrypt-1.12.2/cipher/seed.c:398: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  396|     OP (x1, x2, x3, x4, 30);
#  397|     OP (x3, x4, x1, x2, 28);
#  398|->   OP (x1, x2, x3, x4, 26);
#  399|     OP (x3, x4, x1, x2, 24);
#  400|     OP (x1, x2, x3, x4, 22);

Error: CPPCHECK_WARNING (CWE-758): [#def31]
libgcrypt-1.12.2/cipher/seed.c:399: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  397|     OP (x3, x4, x1, x2, 28);
#  398|     OP (x1, x2, x3, x4, 26);
#  399|->   OP (x3, x4, x1, x2, 24);
#  400|     OP (x1, x2, x3, x4, 22);
#  401|     OP (x3, x4, x1, x2, 20);

Error: CPPCHECK_WARNING (CWE-758): [#def32]
libgcrypt-1.12.2/cipher/seed.c:400: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  398|     OP (x1, x2, x3, x4, 26);
#  399|     OP (x3, x4, x1, x2, 24);
#  400|->   OP (x1, x2, x3, x4, 22);
#  401|     OP (x3, x4, x1, x2, 20);
#  402|     OP (x1, x2, x3, x4, 18);

Error: CPPCHECK_WARNING (CWE-758): [#def33]
libgcrypt-1.12.2/cipher/seed.c:401: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  399|     OP (x3, x4, x1, x2, 24);
#  400|     OP (x1, x2, x3, x4, 22);
#  401|->   OP (x3, x4, x1, x2, 20);
#  402|     OP (x1, x2, x3, x4, 18);
#  403|     OP (x3, x4, x1, x2, 16);

Error: CPPCHECK_WARNING (CWE-758): [#def34]
libgcrypt-1.12.2/cipher/seed.c:402: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  400|     OP (x1, x2, x3, x4, 22);
#  401|     OP (x3, x4, x1, x2, 20);
#  402|->   OP (x1, x2, x3, x4, 18);
#  403|     OP (x3, x4, x1, x2, 16);
#  404|     OP (x1, x2, x3, x4, 14);

Error: CPPCHECK_WARNING (CWE-758): [#def35]
libgcrypt-1.12.2/cipher/seed.c:403: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  401|     OP (x3, x4, x1, x2, 20);
#  402|     OP (x1, x2, x3, x4, 18);
#  403|->   OP (x3, x4, x1, x2, 16);
#  404|     OP (x1, x2, x3, x4, 14);
#  405|     OP (x3, x4, x1, x2, 12);

Error: CPPCHECK_WARNING (CWE-758): [#def36]
libgcrypt-1.12.2/cipher/seed.c:404: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  402|     OP (x1, x2, x3, x4, 18);
#  403|     OP (x3, x4, x1, x2, 16);
#  404|->   OP (x1, x2, x3, x4, 14);
#  405|     OP (x3, x4, x1, x2, 12);
#  406|     OP (x1, x2, x3, x4, 10);

Error: CPPCHECK_WARNING (CWE-758): [#def37]
libgcrypt-1.12.2/cipher/seed.c:405: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  403|     OP (x3, x4, x1, x2, 16);
#  404|     OP (x1, x2, x3, x4, 14);
#  405|->   OP (x3, x4, x1, x2, 12);
#  406|     OP (x1, x2, x3, x4, 10);
#  407|     OP (x3, x4, x1, x2, 8);

Error: CPPCHECK_WARNING (CWE-758): [#def38]
libgcrypt-1.12.2/cipher/seed.c:406: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  404|     OP (x1, x2, x3, x4, 14);
#  405|     OP (x3, x4, x1, x2, 12);
#  406|->   OP (x1, x2, x3, x4, 10);
#  407|     OP (x3, x4, x1, x2, 8);
#  408|     OP (x1, x2, x3, x4, 6);

Error: CPPCHECK_WARNING (CWE-758): [#def39]
libgcrypt-1.12.2/cipher/seed.c:407: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  405|     OP (x3, x4, x1, x2, 12);
#  406|     OP (x1, x2, x3, x4, 10);
#  407|->   OP (x3, x4, x1, x2, 8);
#  408|     OP (x1, x2, x3, x4, 6);
#  409|     OP (x3, x4, x1, x2, 4);

Error: CPPCHECK_WARNING (CWE-758): [#def40]
libgcrypt-1.12.2/cipher/seed.c:408: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  406|     OP (x1, x2, x3, x4, 10);
#  407|     OP (x3, x4, x1, x2, 8);
#  408|->   OP (x1, x2, x3, x4, 6);
#  409|     OP (x3, x4, x1, x2, 4);
#  410|     OP (x1, x2, x3, x4, 2);

Error: CPPCHECK_WARNING (CWE-758): [#def41]
libgcrypt-1.12.2/cipher/seed.c:409: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  407|     OP (x3, x4, x1, x2, 8);
#  408|     OP (x1, x2, x3, x4, 6);
#  409|->   OP (x3, x4, x1, x2, 4);
#  410|     OP (x1, x2, x3, x4, 2);
#  411|     OP (x3, x4, x1, x2, 0);

Error: CPPCHECK_WARNING (CWE-758): [#def42]
libgcrypt-1.12.2/cipher/seed.c:410: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  408|     OP (x1, x2, x3, x4, 6);
#  409|     OP (x3, x4, x1, x2, 4);
#  410|->   OP (x1, x2, x3, x4, 2);
#  411|     OP (x3, x4, x1, x2, 0);
#  412|   

Error: CPPCHECK_WARNING (CWE-758): [#def43]
libgcrypt-1.12.2/cipher/seed.c:411: error[overlappingWriteUnion]: Overlapping read/write of union is undefined behavior
#  409|     OP (x3, x4, x1, x2, 4);
#  410|     OP (x1, x2, x3, x4, 2);
#  411|->   OP (x3, x4, x1, x2, 0);
#  412|   
#  413|     PUTU32 (outbuf, x3);

Error: COMPILER_WARNING: [#def44]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:613:31: note[note]: called from here
#  611|     if (ctr_low + 32 <= 256)
#  612|       {
#  613|->       const __m512i add0123 = _mm512_set_epi64(3LL << 56, 0,
#  614|   					       2LL << 56, 0,
#  615|   					       1LL << 56, 0,

Error: COMPILER_WARNING: [#def45]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:617:31: note[note]: called from here
#  615|   					       1LL << 56, 0,
#  616|   					       0LL << 56, 0);
#  617|->       const __m512i add4444 = _mm512_set_epi64(4LL << 56, 0,
#  618|   					       4LL << 56, 0,
#  619|   					       4LL << 56, 0,

Error: COMPILER_WARNING: [#def46]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:621:31: note[note]: called from here
#  619|   					       4LL << 56, 0,
#  620|   					       4LL << 56, 0);
#  621|->       const __m512i add4567 = _mm512_add_epi32(add0123, add4444);
#  622|         const __m512i add8888 = _mm512_add_epi32(add4444, add4444);
#  623|   

Error: COMPILER_WARNING: [#def47]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:622:31: note[note]: called from here
#  620|   					       4LL << 56, 0);
#  621|         const __m512i add4567 = _mm512_add_epi32(add0123, add4444);
#  622|->       const __m512i add8888 = _mm512_add_epi32(add4444, add4444);
#  623|   
#  624|         // Fast path without carry handling.

Error: COMPILER_WARNING: [#def48]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:626:9: note[note]: called from here
#  624|         // Fast path without carry handling.
#  625|         __m512i vctr =
#  626|-> 	_mm512_broadcast_i32x4(_mm_loadu_si128((const void *)ctr));
#  627|   
#  628|         cipher_block_add(ctr, 32, blocksize);

Error: COMPILER_WARNING: [#def49]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:629:16: note[note]: called from here
#  627|   
#  628|         cipher_block_add(ctr, 32, blocksize);
#  629|->       vin[0] = _mm512_add_epi32(vctr, add0123);
#  630|         vin[1] = _mm512_add_epi32(vctr, add4567);
#  631|         vin[2] = _mm512_add_epi32(vin[0], add8888);

Error: COMPILER_WARNING: [#def50]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:630:16: note[note]: called from here
#  628|         cipher_block_add(ctr, 32, blocksize);
#  629|         vin[0] = _mm512_add_epi32(vctr, add0123);
#  630|->       vin[1] = _mm512_add_epi32(vctr, add4567);
#  631|         vin[2] = _mm512_add_epi32(vin[0], add8888);
#  632|         vin[3] = _mm512_add_epi32(vin[1], add8888);

Error: COMPILER_WARNING: [#def51]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:631:16: note[note]: called from here
#  629|         vin[0] = _mm512_add_epi32(vctr, add0123);
#  630|         vin[1] = _mm512_add_epi32(vctr, add4567);
#  631|->       vin[2] = _mm512_add_epi32(vin[0], add8888);
#  632|         vin[3] = _mm512_add_epi32(vin[1], add8888);
#  633|         vin[4] = _mm512_add_epi32(vin[2], add8888);

Error: COMPILER_WARNING: [#def52]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:632:16: note[note]: called from here
#  630|         vin[1] = _mm512_add_epi32(vctr, add4567);
#  631|         vin[2] = _mm512_add_epi32(vin[0], add8888);
#  632|->       vin[3] = _mm512_add_epi32(vin[1], add8888);
#  633|         vin[4] = _mm512_add_epi32(vin[2], add8888);
#  634|         vin[5] = _mm512_add_epi32(vin[3], add8888);

Error: COMPILER_WARNING: [#def53]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:633:16: note[note]: called from here
#  631|         vin[2] = _mm512_add_epi32(vin[0], add8888);
#  632|         vin[3] = _mm512_add_epi32(vin[1], add8888);
#  633|->       vin[4] = _mm512_add_epi32(vin[2], add8888);
#  634|         vin[5] = _mm512_add_epi32(vin[3], add8888);
#  635|         vin[6] = _mm512_add_epi32(vin[4], add8888);

Error: COMPILER_WARNING: [#def54]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:634:16: note[note]: called from here
#  632|         vin[3] = _mm512_add_epi32(vin[1], add8888);
#  633|         vin[4] = _mm512_add_epi32(vin[2], add8888);
#  634|->       vin[5] = _mm512_add_epi32(vin[3], add8888);
#  635|         vin[6] = _mm512_add_epi32(vin[4], add8888);
#  636|         vin[7] = _mm512_add_epi32(vin[5], add8888);

Error: COMPILER_WARNING: [#def55]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:635:16: note[note]: called from here
#  633|         vin[4] = _mm512_add_epi32(vin[2], add8888);
#  634|         vin[5] = _mm512_add_epi32(vin[3], add8888);
#  635|->       vin[6] = _mm512_add_epi32(vin[4], add8888);
#  636|         vin[7] = _mm512_add_epi32(vin[5], add8888);
#  637|       }

Error: COMPILER_WARNING: [#def56]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:636:16: note[note]: called from here
#  634|         vin[5] = _mm512_add_epi32(vin[3], add8888);
#  635|         vin[6] = _mm512_add_epi32(vin[4], add8888);
#  636|->       vin[7] = _mm512_add_epi32(vin[5], add8888);
#  637|       }
#  638|     else

Error: COMPILER_WARNING: [#def57]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:651:16: note[note]: called from here
#  649|         cipher_block_add(blocks[2], 2, blocksize);
#  650|         cipher_block_add(blocks[3], 3, blocksize);
#  651|->       vin[0] = _mm512_loadu_epi32 (blocks);
#  652|         cipher_block_add(blocks[0], 4, blocksize);
#  653|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def58]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:656:16: note[note]: called from here
#  654|         cipher_block_add(blocks[2], 4, blocksize);
#  655|         cipher_block_add(blocks[3], 4, blocksize);
#  656|->       vin[1] = _mm512_loadu_epi32 (blocks);
#  657|         cipher_block_add(blocks[0], 4, blocksize);
#  658|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def59]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:661:16: note[note]: called from here
#  659|         cipher_block_add(blocks[2], 4, blocksize);
#  660|         cipher_block_add(blocks[3], 4, blocksize);
#  661|->       vin[2] = _mm512_loadu_epi32 (blocks);
#  662|         cipher_block_add(blocks[0], 4, blocksize);
#  663|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def60]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:666:16: note[note]: called from here
#  664|         cipher_block_add(blocks[2], 4, blocksize);
#  665|         cipher_block_add(blocks[3], 4, blocksize);
#  666|->       vin[3] = _mm512_loadu_epi32 (blocks);
#  667|         cipher_block_add(blocks[0], 4, blocksize);
#  668|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def61]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:671:16: note[note]: called from here
#  669|         cipher_block_add(blocks[2], 4, blocksize);
#  670|         cipher_block_add(blocks[3], 4, blocksize);
#  671|->       vin[4] = _mm512_loadu_epi32 (blocks);
#  672|         cipher_block_add(blocks[0], 4, blocksize);
#  673|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def62]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:676:16: note[note]: called from here
#  674|         cipher_block_add(blocks[2], 4, blocksize);
#  675|         cipher_block_add(blocks[3], 4, blocksize);
#  676|->       vin[5] = _mm512_loadu_epi32 (blocks);
#  677|         cipher_block_add(blocks[0], 4, blocksize);
#  678|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def63]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:681:16: note[note]: called from here
#  679|         cipher_block_add(blocks[2], 4, blocksize);
#  680|         cipher_block_add(blocks[3], 4, blocksize);
#  681|->       vin[6] = _mm512_loadu_epi32 (blocks);
#  682|         cipher_block_add(blocks[0], 4, blocksize);
#  683|         cipher_block_add(blocks[1], 4, blocksize);

Error: COMPILER_WARNING: [#def64]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:686:16: note[note]: called from here
#  684|         cipher_block_add(blocks[2], 4, blocksize);
#  685|         cipher_block_add(blocks[3], 4, blocksize);
#  686|->       vin[7] = _mm512_loadu_epi32 (blocks);
#  687|   
#  688|         wipememory(blocks, sizeof(blocks));

Error: COMPILER_WARNING: [#def65]
libgcrypt-1.12.2/cipher/serpent-avx512-x86.c:695:1: warning[-Wpsabi]: AVX512F vector return without AVX512F enabled changes the ABI
#  693|   ocb_input(__m512i *vchecksum, __m128i *voffset, const unsigned char *input,
#  694|   	  unsigned char *output, const ocb_L_uintptr_t L[4])
#  695|-> {
#  696|     __m128i L0 = _mm_loadu_si128((const void *)(uintptr_t)L[0]);
#  697|     __m128i L1 = _mm_loadu_si128((const void *)(uintptr_t)L[1]);

Error: GCC_ANALYZER_WARNING (CWE-457): [#def66]
libgcrypt-1.12.2/cipher/serpent.c:883:3: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value '*context.keys[0][0]'
libgcrypt-1.12.2/cipher/serpent.c:1874:1: enter_function: entry to 'serpent_test'
libgcrypt-1.12.2/cipher/serpent.c:1920:15: branch_true: following 'true' branch...
libgcrypt-1.12.2/cipher/serpent.c:1922:7: branch_true: ...to here
libgcrypt-1.12.2/cipher/serpent.c:1922:7: call_function: inlined call to 'serpent_setkey_internal' from 'serpent_test'
libgcrypt-1.12.2/cipher/serpent.c:1924:43: branch_true: ...to here
libgcrypt-1.12.2/cipher/serpent.c:1924:7: call_function: calling 'serpent_encrypt_internal' from 'serpent_test'
#  881|     b[3] = buf_get_le32 (input + 12);
#  882|   
#  883|->   ROUND (0, context->keys, b, b_next);
#  884|     ROUND (1, context->keys, b, b_next);
#  885|     ROUND (2, context->keys, b, b_next);

Error: GCC_ANALYZER_WARNING (CWE-465): [#def67]
libgcrypt-1.12.2/mpi/mpi-mul.c:145:8: warning[-Wanalyzer-deref-before-check]: check of 'w' for NULL after already dereferencing it
libgcrypt-1.12.2/mpi/mpi-mul.c:123:19: branch_true: following 'true' branch (when 'v' is non-NULL)...
libgcrypt-1.12.2/mpi/mpi-mul.c:123:19: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpi-mul.c:127:19: branch_true: following 'true' branch (when 'u' is non-NULL)...
libgcrypt-1.12.2/mpi/mpi-mul.c:127:19: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpi-mul.c:145:8: danger: pointer 'w' is checked for NULL here but it was already dereferenced at [(5)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/4)
#  143|       /* Ensure W has space enough to store the result.  */
#  144|       wsize = usize + vsize;
#  145|->     if ( !mpi_is_secure (w) && (mpi_is_secure (u) || mpi_is_secure (v)) ) {
#  146|           /* w is not allocated in secure space but u or v is.  To make sure
#  147|            * that no temporray results are stored in w, we temporary use

Error: GCC_ANALYZER_WARNING (CWE-465): [#def68]
libgcrypt-1.12.2/mpi/mpi-mul.c:257:6: warning[-Wanalyzer-deref-before-check]: check of 'w' for NULL after already dereferencing it
libgcrypt-1.12.2/mpi/mpi-mul.c:233:17: branch_true: following 'true' branch (when 'u' is non-NULL)...
libgcrypt-1.12.2/mpi/mpi-mul.c:233:17: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpi-mul.c:237:17: branch_true: following 'true' branch (when 'v' is non-NULL)...
libgcrypt-1.12.2/mpi/mpi-mul.c:237:17: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpi-mul.c:257:6: danger: pointer 'w' is checked for NULL here but it was already dereferenced at [(5)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/4)
#  255|     /* Ensure W has space enough to store the result.  */
#  256|     wsize = usize + vsize;
#  257|->   if (!mpi_is_secure (w) && (mpi_is_secure (u) || mpi_is_secure (v)))
#  258|       {
#  259|         /* w is not allocated in secure space but u or v is.  To make sure

Error: GCC_ANALYZER_WARNING (CWE-476): [#def69]
libgcrypt-1.12.2/mpi/mpiutil.c:415:3: warning[-Wanalyzer-null-dereference]: dereference of NULL 'w'
libgcrypt-1.12.2/mpi/mpiutil.c:405:1: enter_function: entry to '_gcry_mpi_neg'
libgcrypt-1.12.2/mpi/mpiutil.c:407:6: branch_true: following 'true' branch (when 'w != u')...
libgcrypt-1.12.2/mpi/mpiutil.c:408:5: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:408:5: call_function: calling '_gcry_mpi_set' from '_gcry_mpi_neg'
libgcrypt-1.12.2/mpi/mpiutil.c:408:5: return_function: returning to '_gcry_mpi_neg' from '_gcry_mpi_set'
libgcrypt-1.12.2/mpi/mpiutil.c:415:3: danger: dereference of NULL 'w'
#  413|       }
#  414|   
#  415|->   w->sign = !u->sign;
#  416|   }
#  417|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def70]
libgcrypt-1.12.2/mpi/mpiutil.c:503:3: warning[-Wanalyzer-null-dereference]: dereference of NULL 'wp'
libgcrypt-1.12.2/mpi/mpiutil.c:487:1: enter_function: entry to '_gcry_mpi_set'
libgcrypt-1.12.2/mpi/mpiutil.c:493:6: branch_true: following 'true' branch (when 'w' is NULL)...
libgcrypt-1.12.2/mpi/mpiutil.c:494:9: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:494:9: call_function: calling '_gcry_mpi_alloc' from '_gcry_mpi_set'
libgcrypt-1.12.2/mpi/mpiutil.c:494:9: return_function: returning to '_gcry_mpi_set' from '_gcry_mpi_alloc'
libgcrypt-1.12.2/mpi/mpiutil.c:495:6: branch_false: following 'false' branch...
libgcrypt-1.12.2/mpi/mpiutil.c:500:3: branch_false: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:500:3: branch_false: following 'false' branch...
libgcrypt-1.12.2/mpi/mpiutil.c:501:3: branch_false: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:501:3: release_memory: '*w.d' is NULL
libgcrypt-1.12.2/mpi/mpiutil.c:503:3: branch_true: following 'true' branch (when '_i < usize')...
libgcrypt-1.12.2/mpi/mpiutil.c:503:3: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:503:3: danger: dereference of NULL 'wp + (long unsigned int)_i * 8'
#  501|     wp = w->d;
#  502|     up = u->d;
#  503|->   MPN_COPY( wp, up, usize );
#  504|     w->nlimbs = usize;
#  505|     w->flags = u->flags;

Error: GCC_ANALYZER_WARNING (CWE-465): [#def71]
libgcrypt-1.12.2/mpi/mpiutil.c:763:7: warning[-Wanalyzer-deref-before-check]: check of 'w' for NULL after already dereferencing it
libgcrypt-1.12.2/mpi/mpiutil.c:756:6: branch_false: following 'false' branch...
libgcrypt-1.12.2/mpi/mpiutil.c:761:6: branch_false: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:761:6: branch_true: following 'true' branch (when 'level == 0')...
libgcrypt-1.12.2/mpi/mpiutil.c:763:7: branch_true: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:763:7: danger: pointer 'w' is checked for NULL here but it was already dereferenced at [(1)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/0)
#  761|     if (level == GCRY_WEAK_RANDOM)
#  762|       {
#  763|->       p = mpi_is_secure(w) ? xmalloc_secure (nbytes)
#  764|                              : xmalloc (nbytes);
#  765|         _gcry_create_nonce (p, nbytes);

Error: GCC_ANALYZER_WARNING (CWE-465): [#def72]
libgcrypt-1.12.2/mpi/mpiutil.c:769:7: warning[-Wanalyzer-deref-before-check]: check of 'w' for NULL after already dereferencing it
libgcrypt-1.12.2/mpi/mpiutil.c:756:6: branch_false: following 'false' branch...
libgcrypt-1.12.2/mpi/mpiutil.c:761:6: branch_false: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:761:6: branch_false: following 'false' branch (when 'level != 0')...
libgcrypt-1.12.2/mpi/mpiutil.c:769:7: branch_false: ...to here
libgcrypt-1.12.2/mpi/mpiutil.c:769:7: danger: pointer 'w' is checked for NULL here but it was already dereferenced at [(1)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/0)
#  767|     else
#  768|       {
#  769|->       p = mpi_is_secure(w) ? _gcry_random_bytes_secure (nbytes, level)
#  770|                              : _gcry_random_bytes (nbytes, level);
#  771|       }

Error: CPPCHECK_WARNING (CWE-457): [#def73]
libgcrypt-1.12.2/src/mpicalc.c:80: error[uninitvar]: Uninitialized variable: buf
#   78|     else
#   79|       {
#   80|->       fputs (buf, stdout);
#   81|         gcry_free (buf);
#   82|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def74]
libgcrypt-1.12.2/src/secmem.c:187:70: warning[-Wanalyzer-null-dereference]: dereference of NULL 'mb_prev'
libgcrypt-1.12.2/src/secmem.c:767:1: enter_function: entry to '_gcry_secmem_realloc_internal'
libgcrypt-1.12.2/src/secmem.c:776:6: branch_false: following 'false' branch (when 'size <= newsize')...
libgcrypt-1.12.2/src/secmem.c:783:11: branch_false: ...to here
libgcrypt-1.12.2/src/secmem.c:783:11: call_function: calling '_gcry_secmem_malloc_internal' from '_gcry_secmem_realloc_internal'
#  185|     memblock_t *mb_next;
#  186|   
#  187|->   mb_next = (memblock_t *) (void *) ((char *) mb + BLOCK_HEAD_SIZE + mb->size);
#  188|   
#  189|     if (! ptr_into_pool_p (pool, mb_next))

Error: GCC_ANALYZER_WARNING (CWE-476): [#def75]
libgcrypt-1.12.2/src/secmem.c:246:12: warning[-Wanalyzer-null-dereference]: dereference of NULL 'mb'
libgcrypt-1.12.2/src/secmem.c:767:1: enter_function: entry to '_gcry_secmem_realloc_internal'
libgcrypt-1.12.2/src/secmem.c:776:6: branch_false: following 'false' branch (when 'size <= newsize')...
libgcrypt-1.12.2/src/secmem.c:783:11: branch_false: ...to here
libgcrypt-1.12.2/src/secmem.c:783:11: call_function: calling '_gcry_secmem_malloc_internal' from '_gcry_secmem_realloc_internal'
#  244|   
#  245|     for (mb = block; ptr_into_pool_p (pool, mb); mb = mb_get_next (pool, mb))
#  246|->     if (! (mb->flags & MB_FLAG_ACTIVE) && mb->size >= size)
#  247|         {
#  248|   	/* Found a free block.  */

Error: GCC_ANALYZER_WARNING (CWE-476): [#def76]
libgcrypt-1.12.2/src/secmem.c:907:13: warning[-Wanalyzer-null-dereference]: dereference of NULL 'mb'
libgcrypt-1.12.2/src/secmem.c:892:38: branch_true: following 'true' branch (when 'pool' is non-NULL)...
libgcrypt-1.12.2/src/secmem.c:894:10: branch_true: ...to here
libgcrypt-1.12.2/src/secmem.c:907:13: danger: dereference of NULL 'mb'
#  905|                  ptr_into_pool_p (pool, mb);
#  906|                  mb = mb_get_next (pool, mb), i++)
#  907|->             log_info ("SECMEM: pool %d %s block %i size %i\n",
#  908|                         poolno,
#  909|                         (mb->flags & MB_FLAG_ACTIVE) ? "used" : "free",

Error: CPPCHECK_WARNING (CWE-457): [#def77]
libgcrypt-1.12.2/tests/basic.c:17716: warning[uninitvar]: Uninitialized variable: pkey
#17714|       die ("converting sample key failed: %s\n", gpg_strerror (err));
#17715|   
#17716|->   do_check_one_pubkey (n, skey, pkey,
#17717|                          (const unsigned char*)spec.key.grip,
#17718|   		       spec.id, spec.flags);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def78]
libgcrypt-1.12.2/tests/fipsdrv.c:304:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname,  <unknown>)’
libgcrypt-1.12.2/tests/fipsdrv.c:1991:1: enter_function: entry to ‘run_dsa_sign’
libgcrypt-1.12.2/tests/fipsdrv.c:2001:6: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2003:13: branch_true: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2007:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: branch_false: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: call_function: calling ‘read_sexp_from_file’ from ‘run_dsa_sign’
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: return_function: returning to ‘run_dsa_sign’ from ‘read_sexp_from_file’
libgcrypt-1.12.2/tests/fipsdrv.c:2014:6: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2016:7: branch_true: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2016:7: call_function: calling ‘read_private_key_file’ from ‘run_dsa_sign’
#  302|           buffer = gcry_xrealloc (buffer, bufsize);
#  303|   
#  304|->       nread = fread (buffer + buflen, 1, NCHUNK, fp);
#  305|         if (nread < NCHUNK && ferror (fp))
#  306|           {

Error: GCC_ANALYZER_WARNING (CWE-775): [#def79]
libgcrypt-1.12.2/tests/fipsdrv.c:304:22: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(fname, "rb")’
libgcrypt-1.12.2/tests/fipsdrv.c:2198:1: enter_function: entry to ‘run_ecdsa_verify’
libgcrypt-1.12.2/tests/fipsdrv.c:2207:11: call_function: calling ‘read_sexp_from_file’ from ‘run_ecdsa_verify’
#  302|           buffer = gcry_xrealloc (buffer, bufsize);
#  303|   
#  304|->       nread = fread (buffer + buflen, 1, NCHUNK, fp);
#  305|         if (nread < NCHUNK && ferror (fp))
#  306|           {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def80]
libgcrypt-1.12.2/tests/fipsdrv.c:304:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname,  <unknown>)’
libgcrypt-1.12.2/tests/fipsdrv.c:1991:1: enter_function: entry to ‘run_dsa_sign’
libgcrypt-1.12.2/tests/fipsdrv.c:2001:6: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2003:13: branch_true: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2007:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: branch_false: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: call_function: calling ‘read_sexp_from_file’ from ‘run_dsa_sign’
libgcrypt-1.12.2/tests/fipsdrv.c:2011:11: return_function: returning to ‘run_dsa_sign’ from ‘read_sexp_from_file’
libgcrypt-1.12.2/tests/fipsdrv.c:2014:6: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/fipsdrv.c:2016:7: branch_true: ...to here
libgcrypt-1.12.2/tests/fipsdrv.c:2016:7: call_function: calling ‘read_private_key_file’ from ‘run_dsa_sign’
#  302|           buffer = gcry_xrealloc (buffer, bufsize);
#  303|   
#  304|->       nread = fread (buffer + buflen, 1, NCHUNK, fp);
#  305|         if (nread < NCHUNK && ferror (fp))
#  306|           {

Error: GCC_ANALYZER_WARNING (CWE-401): [#def81]
libgcrypt-1.12.2/tests/fipsdrv.c:304:22: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(fname, "rb")’
libgcrypt-1.12.2/tests/fipsdrv.c:2198:1: enter_function: entry to ‘run_ecdsa_verify’
libgcrypt-1.12.2/tests/fipsdrv.c:2207:11: call_function: calling ‘read_sexp_from_file’ from ‘run_ecdsa_verify’
#  302|           buffer = gcry_xrealloc (buffer, bufsize);
#  303|   
#  304|->       nread = fread (buffer + buflen, 1, NCHUNK, fp);
#  305|         if (nread < NCHUNK && ferror (fp))
#  306|           {

Error: CPPCHECK_WARNING (CWE-457): [#def82]
libgcrypt-1.12.2/tests/fipsdrv.c:723: warning[uninitvar]: Uninitialized variable: s_sig
#  721|     gcry_free (buffer);
#  722|   
#  723|->   return s_sig;
#  724|   }
#  725|   

Error: CPPCHECK_WARNING (CWE-457): [#def83]
libgcrypt-1.12.2/tests/fipsdrv.c:1147: error[legacyUninitvar]: Uninitialized variable: last_output
# 1145|     for (count=0; count < iterations; count++)
# 1146|       {
# 1147|->       memcpy (last_last_output, last_output, sizeof last_output);
# 1148|         memcpy (last_output, output, sizeof output);
# 1149|   

Error: CPPCHECK_WARNING (CWE-457): [#def84]
libgcrypt-1.12.2/tests/fipsdrv.c:1270: warning[uninitvar]: Uninitialized variable: s_keyspec
# 1268|            gpg_strerror (err));
# 1269|   
# 1270|->   err = gcry_pk_genkey (&s_key, s_keyspec);
# 1271|     if (err)
# 1272|       die ("gcry_pk_genkey failed for RSA: %s\n", gpg_strerror (err));

Error: CPPCHECK_WARNING (CWE-457): [#def85]
libgcrypt-1.12.2/tests/fipsdrv.c:1333: warning[uninitvar]: Uninitialized variable: s_keyspec
# 1331|            gpg_strerror (err));
# 1332|   
# 1333|->   err = gcry_pk_genkey (&s_key, s_keyspec);
# 1334|   
# 1335|     gcry_sexp_release (s_keyspec);

Error: CPPCHECK_WARNING (CWE-457): [#def86]
libgcrypt-1.12.2/tests/fipsdrv.c:2013: warning[uninitvar]: Uninitialized variable: s_data
# 2011|     s_key = read_sexp_from_file (keyfile);
# 2012|   
# 2013|->   err = gcry_pk_sign (&s_sig, s_data, s_key);
# 2014|     if (err)
# 2015|       {

Error: CPPCHECK_WARNING (CWE-457): [#def87]
libgcrypt-1.12.2/tests/fipsdrv.c:2108: warning[uninitvar]: Uninitialized variable: s_data
# 2106|     s_sig = read_sexp_from_file (sigfile);
# 2107|   
# 2108|->   err = gcry_pk_verify (s_sig, s_data, s_key);
# 2109|     if (!err)
# 2110|       puts ("GOOD signature");

Error: CPPCHECK_WARNING (CWE-457): [#def88]
libgcrypt-1.12.2/tests/fipsdrv.c:2151: warning[uninitvar]: Uninitialized variable: s_data
# 2149|            gpg_strerror (err));
# 2150|   
# 2151|->   err = gcry_pk_sign (&s_sig, s_data, s_key);
# 2152|     if (err)
# 2153|       {

Error: CPPCHECK_WARNING (CWE-457): [#def89]
libgcrypt-1.12.2/tests/fipsdrv.c:2227: warning[uninitvar]: Uninitialized variable: s_data
# 2225|     s_sig = read_sexp_from_file (sigfile);
# 2226|   
# 2227|->   err = gcry_pk_verify (s_sig, s_data, s_key);
# 2228|     if (!err)
# 2229|       puts ("GOOD signature");

Error: GCC_ANALYZER_WARNING (CWE-775): [#def90]
libgcrypt-1.12.2/tests/gchash.c:96:9: warning[-Wanalyzer-file-leak]: leak of FILE ‘fp’
libgcrypt-1.12.2/tests/gchash.c:58:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/gchash.c:64:3: call_function: calling ‘init_gcrypt’ from ‘main’
libgcrypt-1.12.2/tests/gchash.c:64:3: return_function: returning to ‘main’ from ‘init_gcrypt’
libgcrypt-1.12.2/tests/gchash.c:66:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libgcrypt-1.12.2/tests/gchash.c:66:20: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:73:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/gchash.c:79:9: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:80:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/gchash.c:88:8: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:88:19: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/gchash.c:95:12: branch_true: ...to here
libgcrypt-1.12.2/tests/gchash.c:98:14: acquire_resource: opened here
libgcrypt-1.12.2/tests/gchash.c:100:10: branch_false: following ‘false’ branch (when ‘fp’ is non-NULL)...
libgcrypt-1.12.2/tests/gchash.c:100:10: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:88:19: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/gchash.c:95:12: branch_true: ...to here
libgcrypt-1.12.2/tests/gchash.c:96:9: danger: ‘fp’ leaks here; was opened at [(23)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/22)
#   94|         unsigned char *h;
#   95|         if (!strcmp (*argv, "-"))
#   96|->         fp = stdin;
#   97|         else
#   98|           fp = fopen (*argv, "r");

Error: GCC_ANALYZER_WARNING (CWE-401): [#def91]
libgcrypt-1.12.2/tests/gchash.c:96:9: warning[-Wanalyzer-malloc-leak]: leak of ‘fp’
libgcrypt-1.12.2/tests/gchash.c:58:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/gchash.c:64:3: call_function: calling ‘init_gcrypt’ from ‘main’
libgcrypt-1.12.2/tests/gchash.c:64:3: return_function: returning to ‘main’ from ‘init_gcrypt’
libgcrypt-1.12.2/tests/gchash.c:66:6: branch_false: following ‘false’ branch (when ‘argc > 1’)...
libgcrypt-1.12.2/tests/gchash.c:66:20: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:73:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/gchash.c:79:9: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:80:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/gchash.c:88:8: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:88:19: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/gchash.c:95:12: branch_true: ...to here
libgcrypt-1.12.2/tests/gchash.c:98:14: acquire_memory: allocated here
libgcrypt-1.12.2/tests/gchash.c:100:10: branch_false: following ‘false’ branch (when ‘fp’ is non-NULL)...
libgcrypt-1.12.2/tests/gchash.c:100:10: branch_false: ...to here
libgcrypt-1.12.2/tests/gchash.c:88:19: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/gchash.c:95:12: branch_true: ...to here
libgcrypt-1.12.2/tests/gchash.c:96:9: danger: ‘fp’ leaks here; was allocated at [(23)](sarif:/runs/0/results/1/codeFlows/0/threadFlows/0/locations/22)
#   94|         unsigned char *h;
#   95|         if (!strcmp (*argv, "-"))
#   96|->         fp = stdin;
#   97|         else
#   98|           fp = fopen (*argv, "r");

Error: GCC_ANALYZER_WARNING (CWE-688): [#def92]
libgcrypt-1.12.2/tests/hashtest.c:395:7: warning[-Wanalyzer-null-argument]: use of NULL where non-null expected
libgcrypt-1.12.2/tests/hashtest.c:551:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/hashtest.c:561:10: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/hashtest.c:564:12: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:564:10: branch_false: following ‘false’ branch (when the strings are non-equal)...
libgcrypt-1.12.2/tests/hashtest.c:569:17: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:569:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libgcrypt-1.12.2/tests/hashtest.c:582:17: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:587:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libgcrypt-1.12.2/tests/hashtest.c:593:17: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:593:15: branch_false: following ‘false’ branch (when the strings are non-equal)...
libgcrypt-1.12.2/tests/hashtest.c:598:17: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:598:15: branch_true: following ‘true’ branch (when the strings are equal)...
libgcrypt-1.12.2/tests/hashtest.c:600:11: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:601:14: branch_true: following ‘true’ branch (when ‘argc != 0’)...
libgcrypt-1.12.2/tests/hashtest.c:603:22: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:626:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:629:3: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:629:3: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:630:8: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:630:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:632:7: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:632:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:634:3: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:634:3: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:635:3: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:635:3: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:635:3: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:644:6: branch_false: following ‘false’ branch...
libgcrypt-1.12.2/tests/hashtest.c:648:3: branch_false: ...to here
libgcrypt-1.12.2/tests/hashtest.c:649:6: branch_true: following ‘true’ branch (when ‘argc == 0’)...
libgcrypt-1.12.2/tests/hashtest.c:649:6: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:651:20: branch_true: following ‘true’ branch (when ‘algo != 400’)...
libgcrypt-1.12.2/tests/hashtest.c:652:14: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:652:12: branch_true: following ‘true’ branch...
libgcrypt-1.12.2/tests/hashtest.c:654:16: branch_true: ...to here
libgcrypt-1.12.2/tests/hashtest.c:657:15: call_function: calling ‘run_longtest’ from ‘main’
#  393|         return 1;
#  394|       }
#  395|->   if (memcmp (tv_digest, digest, tv_digestlen))
#  396|       {
#  397|         fail ("%d GiB %+3d %-10s error: %s",

Error: CPPCHECK_WARNING (CWE-457): [#def93]
libgcrypt-1.12.2/tests/keygen.c:89: error[uninitvar]: Uninitialized variable: buf
#   87|     else
#   88|       {
#   89|->       fprintf (stderr, "%s\n", buf);
#   90|         gcry_free (buf);
#   91|       }

Error: CPPCHECK_WARNING (CWE-457): [#def94]
libgcrypt-1.12.2/tests/pubkey.c:385: warning[uninitvar]: Uninitialized variable: sec_key
#  383|   
#  384|     *pkey = pub_key;
#  385|->   *skey = sec_key;
#  386|   }
#  387|   

Error: CPPCHECK_WARNING (CWE-457): [#def95]
libgcrypt-1.12.2/tests/t-convert.c:118: error[uninitvar]: Uninitialized variable: buf
#  116|                 fmts[i].name,gpg_strerror (err) );
#  117|         else
#  118|->         gcry_free (buf);
#  119|       }
#  120|   

Error: CPPCHECK_WARNING (CWE-457): [#def96]
libgcrypt-1.12.2/tests/t-cv25519.c:51: error[uninitvar]: Uninitialized variable: buf
#   49|     else
#   50|       {
#   51|->       fprintf (stderr, "%s: %s\n", text, buf);
#   52|         gcry_free (buf);
#   53|       }

Error: CPPCHECK_WARNING (CWE-457): [#def97]
libgcrypt-1.12.2/tests/t-mpi-point.c:161: error[uninitvar]: Uninitialized variable: buf
#  159|     else
#  160|       {
#  161|->       fprintf (stderr, "%s%s: %s\n", text, text2? text2:"", buf);
#  162|         gcry_free (buf);
#  163|       }

Error: CPPCHECK_WARNING (CWE-457): [#def98]
libgcrypt-1.12.2/tests/t-x448.c:52: error[uninitvar]: Uninitialized variable: buf
#   50|     else
#   51|       {
#   52|->       fprintf (stderr, "%s: %s\n", text, buf);
#   53|         gcry_free (buf);
#   54|       }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def99]
libgcrypt-1.12.2/tests/testdrv.c:210:13: warning[-Wanalyzer-malloc-leak]: leak of ‘xcalloc((long unsigned int)(i + 2), 8)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  208|   {
#  209|     size_t n = strlen (s);
#  210|->   char *p = xmalloc (n+1);
#  211|     strcpy (p, s);
#  212|     return p;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def100]
libgcrypt-1.12.2/tests/testdrv.c:326:10: warning[-Wanalyzer-malloc-leak]: leak of ‘xmalloc(bytes)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  324|         result[n++] = p;
#  325|       }
#  326|->   while (spacep (p))
#  327|       p++;
#  328|     for (px = p + strlen (p) - 1; px >= p && spacep (px); px--)

Error: COMPILER_WARNING (CWE-704): [#def101]
libgcrypt-1.12.2/tests/testdrv.c: scope_hint: In function ‘my_spawn’
libgcrypt-1.12.2/tests/testdrv.c:533:15: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  533 |   arg_list[0] = strrchr (pgmname, '/');
#      |               ^
#  531|         i++;
#  532|     arg_list = xcalloc (i+2, sizeof *arg_list);
#  533|->   arg_list[0] = strrchr (pgmname, '/');
#  534|     if (arg_list[0])
#  535|       arg_list[0]++;

Error: COMPILER_WARNING (CWE-704): [#def102]
libgcrypt-1.12.2/tests/testdrv.c:533:15: warning[-Wdiscarded-qualifiers]: assignment discards ‘const’ qualifier from pointer target type
#  531|         i++;
#  532|     arg_list = xcalloc (i+2, sizeof *arg_list);
#  533|->   arg_list[0] = strrchr (pgmname, '/');
#  534|     if (arg_list[0])
#  535|       arg_list[0]++;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def103]
libgcrypt-1.12.2/tests/testdrv.c:535:5: warning[-Wanalyzer-malloc-leak]: leak of ‘xcalloc((long unsigned int)(i + 2), 8)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  533|     arg_list[0] = strrchr (pgmname, '/');
#  534|     if (arg_list[0])
#  535|->     arg_list[0]++;
#  536|     else
#  537|       arg_list[0] = xstrdup (pgmname);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def104]
libgcrypt-1.12.2/tests/testdrv.c:546:7: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  544|     if (*pid == MYINVALID_PID)
#  545|       {
#  546|->       xfree (arg_list);
#  547|         fail ("error forking process: %s\n", strerror (errno));
#  548|         return -1;

Error: GCC_ANALYZER_WARNING (CWE-401): [#def105]
libgcrypt-1.12.2/tests/testdrv.c:562:11: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  560|         if (fd == -1)
#  561|           {
#  562|->           xfree (arg_list);
#  563|             die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  564|           }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def106]
libgcrypt-1.12.2/tests/testdrv.c:565:10: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 0)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  563|             die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  564|           }
#  565|->       if (fd != 0 && dup2 (fd, 0) == -1)
#  566|           {
#  567|             xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def107]
libgcrypt-1.12.2/tests/testdrv.c:565:11: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(open("/dev/null", 0), 0)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  563|             die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  564|           }
#  565|->       if (fd != 0 && dup2 (fd, 0) == -1)
#  566|           {
#  567|             xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def108]
libgcrypt-1.12.2/tests/testdrv.c:565:11: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 0)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  563|             die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  564|           }
#  565|->       if (fd != 0 && dup2 (fd, 0) == -1)
#  566|           {
#  567|             xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def109]
libgcrypt-1.12.2/tests/testdrv.c:567:11: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  565|         if (fd != 0 && dup2 (fd, 0) == -1)
#  566|           {
#  567|->           xfree (arg_list);
#  568|             die ("dup2(%d,0) failed: %s\n", fd, strerror (errno));
#  569|           }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def110]
libgcrypt-1.12.2/tests/testdrv.c:576:15: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  574|             if (fd == -1)
#  575|               {
#  576|->               xfree (arg_list);
#  577|                 die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  578|               }

Error: GCC_ANALYZER_WARNING (CWE-775): [#def111]
libgcrypt-1.12.2/tests/testdrv.c:579:14: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 0)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  577|                 die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  578|               }
#  579|->           if (fd != 1 && dup2 (fd, 1) == -1)
#  580|               {
#  581|                 xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def112]
libgcrypt-1.12.2/tests/testdrv.c:579:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(open("/dev/null", 0), 1)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  577|                 die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  578|               }
#  579|->           if (fd != 1 && dup2 (fd, 1) == -1)
#  580|               {
#  581|                 xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-775): [#def113]
libgcrypt-1.12.2/tests/testdrv.c:579:15: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘open("/dev/null", 0)’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  577|                 die ("failed to open '%s': %s\n", "/dev/null", strerror (errno));
#  578|               }
#  579|->           if (fd != 1 && dup2 (fd, 1) == -1)
#  580|               {
#  581|                 xfree (arg_list);

Error: GCC_ANALYZER_WARNING (CWE-401): [#def114]
libgcrypt-1.12.2/tests/testdrv.c:581:15: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  579|             if (fd != 1 && dup2 (fd, 1) == -1)
#  580|               {
#  581|->               xfree (arg_list);
#  582|                 die ("dup2(%d,1) failed: %s\n", fd, strerror (errno));
#  583|               }

Error: GCC_ANALYZER_WARNING (CWE-401): [#def115]
libgcrypt-1.12.2/tests/testdrv.c:594:3: warning[-Wanalyzer-malloc-leak]: leak of ‘<unknown>’
libgcrypt-1.12.2/tests/testdrv.c:790:1: enter_function: entry to ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: call_function: calling ‘xcalloc’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:863:15: return_function: returning to ‘main’ from ‘xcalloc’
libgcrypt-1.12.2/tests/testdrv.c:864:18: call_function: calling ‘xstrdup’ from ‘main’
libgcrypt-1.12.2/tests/testdrv.c:864:18: return_function: returning to ‘main’ from ‘xstrdup’
libgcrypt-1.12.2/tests/testdrv.c:870:6: branch_false: following ‘false’ branch (when ‘listtests != 1’)...
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:890:11: branch_false: following ‘false’ branch (when ‘listtests != 2’)...
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:903:11: branch_false: following ‘false’ branch (when ‘listtests != 3’)...
libgcrypt-1.12.2/tests/testdrv.c:937:7: branch_false: ...to here
libgcrypt-1.12.2/tests/testdrv.c:938:7: call_function: calling ‘runtests’ from ‘main’
#  592|   
#  593|     /* This is the parent. */
#  594|->   xfree (arg_list);
#  595|     return 0;
#  596|   #endif /*!HAVE_W32_SYSTEM*/

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-136.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namelibgcrypt-1.12.2-1.fc45
store-results-to/tmp/tmpi9p0vp9o/libgcrypt-1.12.2-1.fc45.tar.xz
time-created2026-06-01 14:32:38
time-finished2026-06-01 14:35:04
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpi9p0vp9o/libgcrypt-1.12.2-1.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpi9p0vp9o/libgcrypt-1.12.2-1.fc45.src.rpm'
tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9