You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ka...@apache.org on 2007/08/09 15:53:45 UTC
svn commit: r564206 - in /webservices/rampart/trunk/c: ./
samples/client/sec_echo/ samples/secpolicy/ src/omxmlsec/
src/omxmlsec/openssl/ src/util/
Author: kaushalye
Date: Thu Aug 9 06:53:44 2007
New Revision: 564206
URL: http://svn.apache.org/viewvc?view=rev&rev=564206
Log:
Memory leak fixes
Modified:
webservices/rampart/trunk/c/configure.ac
webservices/rampart/trunk/c/samples/client/sec_echo/echo.c
webservices/rampart/trunk/c/samples/secpolicy/deploy.sh
webservices/rampart/trunk/c/src/omxmlsec/axiom.c
webservices/rampart/trunk/c/src/omxmlsec/openssl/pem.c
webservices/rampart/trunk/c/src/omxmlsec/sign_ctx.c
webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c
webservices/rampart/trunk/c/src/util/rampart_encryption.c
webservices/rampart/trunk/c/src/util/rampart_signature.c
Modified: webservices/rampart/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/configure.ac?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/configure.ac (original)
+++ webservices/rampart/trunk/c/configure.ac Thu Aug 9 06:53:44 2007
@@ -47,7 +47,7 @@
dnl Checks for libraries.
AC_CHECK_LIB(dl, dlopen)
-CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
+CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -g"
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration"
#CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration"
Modified: webservices/rampart/trunk/c/samples/client/sec_echo/echo.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/samples/client/sec_echo/echo.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/samples/client/sec_echo/echo.c (original)
+++ webservices/rampart/trunk/c/samples/client/sec_echo/echo.c Thu Aug 9 06:53:44 2007
@@ -34,6 +34,7 @@
const axis2_char_t *address = NULL;
const axis2_char_t *client_home = NULL;
axis2_char_t *file_name = NULL;
+ axis2_char_t *file_name2 = NULL;
axis2_endpoint_ref_t* endpoint_ref = NULL;
axis2_options_t *options = NULL;
axis2_svc_client_t* svc_client = NULL;
@@ -94,18 +95,23 @@
if(client_home)
{
file_name = axutil_stracat(env, client_home, AXIS2_PATH_SEP_STR);
- file_name = axutil_stracat(env, file_name, "policy.xml" );
+ file_name2 = axutil_stracat(env, file_name, "policy.xml" );
+ AXIS2_FREE(env->allocator, file_name);
+ file_name = NULL;
}else{
printf("Client Home not Specified\n");
printf("echo client invoke FAILED!\n");
return 0;
}
/*Create the policy, from file*/
- policy = neethi_util_create_policy_from_file(env, file_name);
-
+ policy = neethi_util_create_policy_from_file(env, file_name2);
+ if(file_name2){
+ AXIS2_FREE(env->allocator, file_name2);
+ file_name2 = NULL;
+ }
if(!policy)
{
- printf("\nPolicy creation failed from the file. %s\n", file_name);
+ printf("\nPolicy creation failed from the file. %s\n", file_name2);
/*printf("echo client invoke FAILED!\n");
return 0;*/
}
Modified: webservices/rampart/trunk/c/samples/secpolicy/deploy.sh
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/samples/secpolicy/deploy.sh?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/samples/secpolicy/deploy.sh (original)
+++ webservices/rampart/trunk/c/samples/secpolicy/deploy.sh Thu Aug 9 06:53:44 2007
@@ -9,6 +9,9 @@
CLIENT_REPO="$INST_DIR/client_repo/"
SERVICE_HOME="$INST_DIR/services/sec_echo"
+echo "Copying server's axis2.xml to " $AXIS2C_HOME
+cp ../server/sec_echo/server_axis2.xml $AXIS2C_HOME/axis2.xml
+
#COPYING THE RELEVENT POLICY FILES TO CLIENT AND SERVER
Modified: webservices/rampart/trunk/c/src/omxmlsec/axiom.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/axiom.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/axiom.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/axiom.c Thu Aug 9 06:53:44 2007
@@ -273,6 +273,8 @@
"Cannot find child %s of %s", local_name, parent_name);
return NULL;
}
+ AXIS2_FREE(env->allocator, parent_name);
+ parent_name = NULL;
return node;
}
Modified: webservices/rampart/trunk/c/src/omxmlsec/openssl/pem.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/openssl/pem.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/openssl/pem.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/openssl/pem.c Thu Aug 9 06:53:44 2007
@@ -100,7 +100,7 @@
}else{/*Type unknown*/
/*Try to read the prv key first*/
*pkey = PEM_read_bio_PrivateKey(bio, NULL, 0 , password);
- if (!*pkey)
+ if(!*pkey)
{
/*If prv key is not found then read the public key*/
ret = BIO_reset(bio);
Modified: webservices/rampart/trunk/c/src/omxmlsec/sign_ctx.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/sign_ctx.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/sign_ctx.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/sign_ctx.c Thu Aug 9 06:53:44 2007
@@ -276,10 +276,28 @@
sign_ctx->sig_val = NULL;
}
- sign_ctx->sign_parts = NULL;
- sign_ctx->certificate = NULL;
- sign_ctx->prv_key = NULL;
- sign_ctx->pub_key = NULL;
+ if(sign_ctx->prv_key)
+ {
+ openssl_pkey_free(sign_ctx->prv_key, env);
+ sign_ctx->prv_key = NULL;
+ }
+
+ if(sign_ctx->pub_key)
+ {
+ openssl_pkey_free(sign_ctx->pub_key, env);
+ sign_ctx->pub_key = NULL;
+ }
+
+ if(sign_ctx->sign_parts)
+ {
+ axutil_array_list_free(sign_ctx->sign_parts, env);
+ sign_ctx->sign_parts = NULL;
+ }
+
+ if(sign_ctx->certificate){
+ oxs_x509_cert_free(sign_ctx->certificate, env);
+ sign_ctx->certificate = NULL;
+ }
sign_ctx->operation = OXS_SIGN_OPERATION_NONE;
AXIS2_FREE(env->allocator, sign_ctx);
Modified: webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/x509_cert.c Thu Aug 9 06:53:44 2007
@@ -97,7 +97,7 @@
AXIS2_FREE(env->allocator, x509_cert->data );
x509_cert->data =NULL;
}
-
+ /*Free public key???*/
return AXIS2_SUCCESS;
}
Modified: webservices/rampart/trunk/c/src/util/rampart_encryption.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_encryption.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_encryption.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_encryption.c Thu Aug 9 06:53:44 2007
@@ -278,6 +278,7 @@
if(AXIS2_FAILURE == status){
return AXIS2_FAILURE;
}
+ oxs_asym_ctx_free(asym_ctx, env);
return AXIS2_SUCCESS;
}
@@ -408,7 +409,10 @@
enc_data_node = oxs_token_build_encrypted_data_element(env, sec_node, OXS_TYPE_ENC_ELEMENT, id );
enc_status = oxs_xml_enc_encrypt_node(env, enc_ctx, node_to_enc, &enc_data_node);
-
+
+ /*FREE*/
+ oxs_ctx_free(enc_ctx, env);
+
if(enc_status != AXIS2_SUCCESS)
{
return AXIS2_FAILURE;
@@ -440,7 +444,9 @@
AXIS2_LOG_INFO(env->log, "[rampart][rampart_encryption]Encrypting signature,Building reference list failed");
return AXIS2_FAILURE;
}
-
-
+
+ axutil_array_list_free(id_list, env);
+ id_list = NULL;
+
return AXIS2_SUCCESS;
}
Modified: webservices/rampart/trunk/c/src/util/rampart_signature.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/util/rampart_signature.c?view=diff&rev=564206&r1=564205&r2=564206
==============================================================================
--- webservices/rampart/trunk/c/src/util/rampart_signature.c (original)
+++ webservices/rampart/trunk/c/src/util/rampart_signature.c Thu Aug 9 06:53:44 2007
@@ -380,6 +380,8 @@
AXIS2_LOG_INFO(env->log, "[rampart][rampart_signature] Message signing failed.");
return AXIS2_FAILURE;
}
+ /*Free sig ctx*/
+ oxs_sign_ctx_free(sign_ctx, env);
/*Now we must build the Key Info element*/
key_info_node = oxs_token_build_key_info_element(env,sig_node);