Navigation


Changeset 447:097bae83b07a in freeDiameter for freeDiameter/config.c


Ignore:
Timestamp:
Jul 29, 2010, 11:36:40 AM (14 years ago)
Author:
Sebastien Decugis <sdecugis@nict.go.jp>
Branch:
default
Phase:
public
Message:

Forgot to cleanup the configuration on exit, spotted by valgrind

File:
1 edited

Legend:

Unmodified
Added
Removed
  • freeDiameter/config.c

    r403 r447  
    271271        return 0;
    272272}
     273
     274
     275/* Destroy contents of fd_g_config structure */
     276int fd_conf_deinit()
     277{
     278        TRACE_ENTRY();
     279       
     280        /* Free the TLS parameters */
     281        gnutls_priority_deinit(fd_g_config->cnf_sec_data.prio_cache);
     282        gnutls_dh_params_deinit(fd_g_config->cnf_sec_data.dh_cache);
     283        gnutls_certificate_free_credentials(fd_g_config->cnf_sec_data.credentials);
     284       
     285        free(fd_g_config->cnf_sec_data.cert_file); fd_g_config->cnf_sec_data.cert_file = NULL;
     286        free(fd_g_config->cnf_sec_data.key_file); fd_g_config->cnf_sec_data.key_file = NULL;
     287        free(fd_g_config->cnf_sec_data.ca_file); fd_g_config->cnf_sec_data.ca_file = NULL;
     288        free(fd_g_config->cnf_sec_data.crl_file); fd_g_config->cnf_sec_data.crl_file = NULL;
     289        free(fd_g_config->cnf_sec_data.prio_string); fd_g_config->cnf_sec_data.prio_string = NULL;
     290       
     291        /* Destroy dictionary */
     292        CHECK_FCT_DO( fd_dict_fini(&fd_g_config->cnf_dict), );
     293       
     294        /* Destroy the main event queue */
     295        CHECK_FCT_DO( fd_fifo_del(&fd_g_config->cnf_main_ev), );
     296       
     297        /* Destroy the local endpoints and applications */
     298        CHECK_FCT_DO(fd_ep_filter(&fd_g_config->cnf_endpoints, 0 ), );
     299        CHECK_FCT_DO(fd_app_empty(&fd_g_config->cnf_apps ), );
     300       
     301        /* Destroy the local identity */       
     302        free(fd_g_config->cnf_diamid); fd_g_config->cnf_diamid = NULL;
     303        free(fd_g_config->cnf_diamrlm); fd_g_config->cnf_diamrlm = NULL;
     304       
     305        return 0;
     306}
     307
     308
Note: See TracChangeset for help on using the changeset viewer.