b l wrote:
Hi,

If i reuse a BIGNUM created with BN_new() without
freeing it first will i cause a memory leak?

no

does the BIGNUM dynamically allocate memory each time
it is used by certain functions?

yes (but only if it's required)


for example i create BIGNUM * tempBN=BN_new();

i might make a call to BN_bin2bn (char1,len,tempBN);

i might make a similar call later
BN_bin2bn(char2,len2,tempBN);

is this reuse of a big number like this going to cause
a memory leak??

no

Is tempBN reusing the same memory or is it allocating
new memory. How is it working internally?

if the current memory is sufficient to fulfil the task it's reused, otherwise it's increased via realloc etc.


Is there a faq/sample code/tips on how to use the BN library?

crypto/{rsa|dsa|...} ;-)


At the moment i allocate a lot of BIGNUM's using BN_new() at the start of the program. I then reuse these BIGNUM's over and over and over throughout multiple runs of a long computation.

alternative use BN_CTX (see for example 'man BN_CTX_new')


I had thought that by creating them at the start of
the program and then just reusing them that i wouldn't
be repeatedly dynamically allocating memory and not
freeing it.

that's true

but now i'm not so sure. Musn't the BIGNUM be
reallocating memory every time i use it otherwise how does it know what size to make itself initially?
How should i do this type of thing properly?

Nils ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]

Reply via email to