desallouer mem allouée par un membre

desallouer mem allouée par un membre - C++ - Programmation

Marsh Posté le 10-03-2011 à 14:06:02    

Bonjour,
J'utilise OpenSSL pour programmer une couche sécurisée entre TCP et une application.
j'initialise la couche avec sec_initialize( ) et termine la couche avec un sec_terminate( );
1) sec_initialize( ) doit initialiser entre autres :
a) la méthode utilisée pour l'échange ( TLSv1_method( ), SSLv23_method( ), etc. )
b) et un contexte SSL : SSL_CTX
2) sec_terminate( ) doit desallouer les mémoires allouées dans sec_initialize( ). entre autre b)
 
J'ai crée une classe sslconfig contenant a) et b)

Code :
  1. class sslconfig {
  2.    SSL_method *meth;
  3.    SSL_CTX *ctx;
  4.    sslconfig( ){
  5.         meth = SSL_meth( );
  6.         ctx = SSL_CTX_new(meht);
  7.    }
  8.    ~sslconfig( ){
  9.         SSL_free(ctx)
  10.     }
  11. }


 
Tous les membres / fonction commensant par SSL_ sont des objets d'openSSL.
 
dans sec_terminate( ) je dois desallouer la mémoire occupée par SSL_CTX.
 
Mes questions :
Q1) Est-ce que la manière de définir le destructeur dans la classe est correcte ? est ce que j'ai le droit de faire cela ? Est-ce une manière propre de desallouer la mémoire. Ou bien :
Q2) Est ce que je dois ne rien mettre dans ~sslconfig càd : ~sslconfig( ){ } ? Dans ce cas, je dois appeler explicitement SSL_free(ctx) dans sec_terminate( ) càd :
gsslconfig->SSL_free(ctx) ?
 
Merci d'avance.

Reply

Marsh Posté le 10-03-2011 à 14:06:02   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed