mirror of
https://github.com/pumpitupdev/pumptools.git
synced 2026-09-25 23:58:05 +03:00
prinet-proxy: Fix memory leak
Incorrect encryption size for keepalive package. don't include macbytes in length. Tweak length afterwards with result of encryption function
This commit is contained in:
@@ -41,7 +41,7 @@ static void* _pumpnet_prinet_proxy_keepalive_proc(void* ctx)
|
||||
keepalive_packet->nounce,
|
||||
sizeof(keepalive_packet->nounce),
|
||||
keepalive_packet->data,
|
||||
pumpnet_prinet_proxy_packet_get_data_len(keepalive_packet),
|
||||
PUMPNET_PRINET_PROXY_PACKET_KEEPALIVE_SIZE,
|
||||
keepalive_packet->data);
|
||||
|
||||
keepalive_packet->length = pumpnet_prinet_proxy_packet_get_header_len() + enc_data_len;
|
||||
|
||||
@@ -17,7 +17,7 @@ struct pumpnet_prinet_proxy_packet_data_keepalive {
|
||||
static const size_t HEADER_SIZE = sizeof(uint32_t) + sizeof(uint8_t) * SEC_PRINET_NOUNCE_LEN;
|
||||
|
||||
static const uint32_t PACKET_KEEPALIVE_ID = 0x3000000;
|
||||
static const uint32_t PACKET_KEEPALIVE_SIZE =
|
||||
const uint32_t PUMPNET_PRINET_PROXY_PACKET_KEEPALIVE_SIZE =
|
||||
sizeof(struct pumpnet_prinet_proxy_packet_data) +
|
||||
sizeof(struct pumpnet_prinet_proxy_packet_data_keepalive);
|
||||
|
||||
@@ -61,7 +61,7 @@ struct pumpnet_prinet_proxy_packet* pumpnet_prinet_proxy_packet_create_keepalive
|
||||
struct pumpnet_prinet_proxy_packet* packet;
|
||||
struct pumpnet_prinet_proxy_packet_data* data;
|
||||
|
||||
packet = pumpnet_prinet_proxy_packet_alloc_response(PACKET_KEEPALIVE_SIZE);
|
||||
packet = pumpnet_prinet_proxy_packet_alloc_response(PUMPNET_PRINET_PROXY_PACKET_KEEPALIVE_SIZE);
|
||||
|
||||
util_rand_gen_bytes(packet->nounce, SEC_PRINET_NOUNCE_LEN);
|
||||
|
||||
|
||||
@@ -11,6 +11,8 @@ struct pumpnet_prinet_proxy_packet {
|
||||
uint8_t data[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
extern const uint32_t PUMPNET_PRINET_PROXY_PACKET_KEEPALIVE_SIZE;
|
||||
|
||||
struct pumpnet_prinet_proxy_packet* pumpnet_prinet_proxy_packet_alloc(size_t data_len);
|
||||
|
||||
struct pumpnet_prinet_proxy_packet* pumpnet_prinet_proxy_packet_alloc_response(size_t data_len);
|
||||
|
||||
Reference in New Issue
Block a user