Skip to content

Commit

Permalink
pkcs15-libs.c: Free der value in ecparams
Browse files Browse the repository at this point in the history
Direct leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x519260 in realloc (/home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init+0x519260)
    OpenSC#1 0x59ee3c in asn1_encode /home/vhanulik/devel/OpenSC/src/libopensc/asn1.c:2022:16
    OpenSC#2 0x59eff2 in _sc_asn1_encode /home/vhanulik/devel/OpenSC/src/libopensc/asn1.c:2050:9
    OpenSC#3 0x59f315 in sc_encode_oid /home/vhanulik/devel/OpenSC/src/libopensc/asn1.c:2091:7
    OpenSC#4 0x5e0985 in sc_pkcs15_fix_ec_parameters /home/vhanulik/devel/OpenSC/src/libopensc/pkcs15-pubkey.c:1698:9
    OpenSC#5 0x56b9c7 in check_keygen_params_consistency /home/vhanulik/devel/OpenSC/src/tests/fuzzing/../../../src/pkcs15init/pkcs15-lib.c:2369:8
    OpenSC#6 0x56a07a in sc_pkcs15init_generate_key /home/vhanulik/devel/OpenSC/src/tests/fuzzing/../../../src/pkcs15init/pkcs15-lib.c:1468:6
    OpenSC#7 0x585394 in LLVMFuzzerTestOneInput /home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init.c:421:13
    OpenSC#8 0x45b2c0 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init+0x45b2c0)
    OpenSC#9 0x43be53 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) (/home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init+0x43be53)
    OpenSC#10 0x445481 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init+0x445481)
    OpenSC#11 0x432d16 in main (/home/vhanulik/devel/OpenSC/src/tests/fuzzing/fuzz_pkcs15init+0x432d16)
    OpenSC#12 0x7fc522555492 in __libc_start_main (/lib64/libc.so.6+0x23492)
  • Loading branch information
xhanulik committed Jan 4, 2022
1 parent 0d77174 commit 4a1c7f5
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions src/pkcs15init/pkcs15-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1582,6 +1582,7 @@ sc_pkcs15init_generate_key(struct sc_pkcs15_card *p15card, struct sc_profile *pr
*res_obj = object;

sc_pkcs15_erase_pubkey(&pubkey_args.key);
free(keygen_args->prkey_args.key.u.ec.params.der.value);

profile->dirty = 1;

Expand Down

0 comments on commit 4a1c7f5

Please sign in to comment.