fixed bug in deferred signature code, due to thread copy+write mechanism

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6271 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2013-03-22 21:59:27 +00:00
parent 1c27366cfa
commit 3a8c9ad496

View File

@ -151,7 +151,6 @@ class SignatureEventData
{
public:
SignatureEventData(const void *_data,int32_t _len,unsigned int _signlen)
: data(_data),len(_len)
{
// We need a new memory chnk because there's no guarranty _sign nor _signlen are not in the stack
@ -159,12 +158,16 @@ class SignatureEventData
signlen = new unsigned int ;
*signlen = _signlen ;
signature_result = 0 ;
data = malloc(_len) ;
len = _len ;
memcpy(data,_data,len) ;
}
~SignatureEventData()
{
free(sign) ;
delete signlen ;
free(data) ;
}
bool performSignature()
@ -173,7 +176,7 @@ class SignatureEventData
signature_result = 1 ;
}
const void *data ;
void *data ;
uint32_t len ;
unsigned char *sign ;
unsigned int *signlen ;