mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-18 12:20:58 +01:00
fixed early free() and invalid malloc of pubkey (with size of skey)
This commit is contained in:
@@ -600,7 +600,6 @@ size_t pcp_decrypt_stream_sym(Pcpstream *in, Pcpstream* out, byte *symkey, pcp_r
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
free(buf_nonce);
|
|
||||||
free(buf_cipher);
|
free(buf_cipher);
|
||||||
|
|
||||||
if(recverify != NULL) {
|
if(recverify != NULL) {
|
||||||
@@ -637,6 +636,8 @@ size_t pcp_decrypt_stream_sym(Pcpstream *in, Pcpstream* out, byte *symkey, pcp_r
|
|||||||
free(signature_cr);
|
free(signature_cr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(buf_nonce);
|
||||||
|
|
||||||
return out_size;
|
return out_size;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -655,8 +656,8 @@ pcp_rec_t *pcp_rec_new(byte *cipher, size_t clen, pcp_key_t *secret, pcp_pubkey_
|
|||||||
r->secret = NULL;
|
r->secret = NULL;
|
||||||
|
|
||||||
if(pub != NULL) {
|
if(pub != NULL) {
|
||||||
r->pub = ucmalloc(sizeof(pcp_key_t));
|
r->pub = ucmalloc(sizeof(pcp_pubkey_t));
|
||||||
memcpy(r->pub, pub, sizeof(pcp_key_t));
|
memcpy(r->pub, pub, sizeof(pcp_pubkey_t));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
r->pub = NULL;
|
r->pub = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user