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*/
| analyzer-version-clippy | 1.95.0 |
| analyzer-version-cppcheck | 2.20.0 |
| analyzer-version-gcc | 16.1.1 |
| analyzer-version-gcc-analyzer | 16.1.1 |
| analyzer-version-shellcheck | 0.11.0 |
| analyzer-version-unicontrol | 0.0.2 |
| enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
| exit-code | 0 |
| host | ip-172-16-1-136.us-west-2.compute.internal |
| known-false-positives | /usr/share/csmock/known-false-positives.js |
| known-false-positives-rpm | known-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch |
| mock-config | fedora-rawhide-x86_64 |
| project-name | libgcrypt-1.12.2-1.fc45 |
| store-results-to | /tmp/tmpi9p0vp9o/libgcrypt-1.12.2-1.fc45.tar.xz |
| time-created | 2026-06-01 14:32:38 |
| time-finished | 2026-06-01 14:35:04 |
| tool | csmock |
| 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-version | csmock-3.8.5.20260529.133039.g6f3b5c6-1.el9 |