diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-09 14:39:39 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2006-11-09 14:39:39 +0000 |
| commit | 40a577ac464b3eda720ba934f2a02116fa526bc3 (patch) | |
| tree | acd0d8708e1081edf9e18ab6a44cbb949277f4c2 | |
| parent | 15e4f5436d53e90e7987b0df94a2155d13c2f06a (diff) | |
| download | lasso-40a577ac464b3eda720ba934f2a02116fa526bc3.tar.gz lasso-40a577ac464b3eda720ba934f2a02116fa526bc3.tar.xz lasso-40a577ac464b3eda720ba934f2a02116fa526bc3.zip | |
Fix a possible memory leak in lasso_server_set_encryption_private_key and add a comment
| -rw-r--r-- | lasso/id-ff/server.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lasso/id-ff/server.c b/lasso/id-ff/server.c index 6676cb50..bbf332ac 100644 --- a/lasso/id-ff/server.c +++ b/lasso/id-ff/server.c @@ -122,12 +122,25 @@ lasso_server_destroy(LassoServer *server) lasso_node_destroy(LASSO_NODE(server)); } + +/** + * lasso_server_set_encryption_private_key: + * @server: a #LassoServer + * @file_name: file name of the encryption key to load + * + * Load an encryption private key from a file and set it in the server object + * + * Return value: 0 on success; another value if an error occured. + **/ int lasso_server_set_encryption_private_key(LassoServer *server, gchar *file_name) { LassoPemFileType file_type; - server->private_data->encryption_private_key = NULL; + if (server->private_data->encryption_private_key != NULL) { + g_free(server->private_data->encryption_private_key); + server->private_data->encryption_private_key = NULL; + } file_type = lasso_get_pem_file_type(file_name); if (file_type == LASSO_PEM_FILE_TYPE_PRIVATE_KEY) { server->private_data->encryption_private_key = xmlSecCryptoAppKeyLoad(file_name, |
