mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-05-02 06:06:10 -04:00
added a new method rs_malloc that checks its arguments and prints a stacktrace on error/weird call. Changed the code everywhere to use this instead of malloc. Removed some mallocs and replaced with RsTemporaryMemory
This commit is contained in:
parent
9c6e7dfc13
commit
d13526facd
39 changed files with 274 additions and 132 deletions
|
@ -36,6 +36,7 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <util/rsmemory.h>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
|
@ -79,8 +80,10 @@ TcpPacket::TcpPacket(uint8 *ptr, int size)
|
|||
if (size > 0)
|
||||
{
|
||||
datasize = size;
|
||||
data = (uint8 *) malloc(datasize);
|
||||
memcpy(data, (void *) ptr, size);
|
||||
data = (uint8 *) rs_safe_malloc(datasize);
|
||||
|
||||
if(data != NULL)
|
||||
memcpy(data, (void *) ptr, size);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -185,7 +188,10 @@ int TcpPacket::readPacket(void *buf, int size)
|
|||
free(data);
|
||||
}
|
||||
datasize = size - TCP_PSEUDO_HDR_SIZE;
|
||||
data = (uint8 *) malloc(datasize);
|
||||
data = (uint8 *) rs_safe_malloc(datasize);
|
||||
|
||||
if(data == NULL)
|
||||
return 0 ;
|
||||
|
||||
/* now the data */
|
||||
memcpy(data, (void *) &(((uint8 *) buf)[20]), datasize);
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "udprelay.h"
|
||||
#include <iostream>
|
||||
#include <time.h>
|
||||
#include <util/rsmemory.h>
|
||||
|
||||
/*
|
||||
* #define DEBUG_UDP_RELAY 1
|
||||
|
@ -70,7 +71,7 @@ UdpRelayReceiver::UdpRelayReceiver(UdpPublisher *pub)
|
|||
setRelayClassMax(UDP_RELAY_CLASS_GENERAL, UDP_RELAY_DEFAULT_GENERAL, UDP_RELAY_DEFAULT_BANDWIDTH);
|
||||
|
||||
/* only allocate this space once */
|
||||
mTmpSendPkt = malloc(MAX_RELAY_UDP_PACKET_SIZE);
|
||||
mTmpSendPkt = rs_safe_malloc(MAX_RELAY_UDP_PACKET_SIZE);
|
||||
mTmpSendSize = MAX_RELAY_UDP_PACKET_SIZE;
|
||||
|
||||
clearDataTransferred();
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "util/rsrandom.h"
|
||||
#include "util/rsprint.h"
|
||||
#include "util/rsmemory.h"
|
||||
#include "util/rsstring.h"
|
||||
|
||||
static const int STUN_TTL = 64;
|
||||
|
@ -535,7 +536,11 @@ bool UdpStun_generate_stun_pkt(void *stun_pkt, int *len)
|
|||
void *UdpStun_generate_stun_reply(struct sockaddr_in *stun_addr, int *len)
|
||||
{
|
||||
/* just the header */
|
||||
void *stun_pkt = malloc(28);
|
||||
void *stun_pkt = rs_safe_malloc(28);
|
||||
|
||||
if(!stun_pkt)
|
||||
return NULL ;
|
||||
|
||||
((uint16_t *) stun_pkt)[0] = (uint16_t) htons(0x0101);
|
||||
((uint16_t *) stun_pkt)[1] = (uint16_t) htons(28); /* only header + 8 byte addr */
|
||||
/* transaction id - should be random */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue