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/20 13:09:30 UTC

svn commit: r567654 - in /webservices/rampart/trunk/c: samples/client/sec_echo/echo.c src/omxmlsec/openssl/x509.c

Author: kaushalye
Date: Mon Aug 20 04:09:29 2007
New Revision: 567654

URL: http://svn.apache.org/viewvc?rev=567654&view=rev
Log:
Mem leak fixes and code improvements

Modified:
    webservices/rampart/trunk/c/samples/client/sec_echo/echo.c
    webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c

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?rev=567654&r1=567653&r2=567654&view=diff
==============================================================================
--- webservices/rampart/trunk/c/samples/client/sec_echo/echo.c (original)
+++ webservices/rampart/trunk/c/samples/client/sec_echo/echo.c Mon Aug 20 04:09:29 2007
@@ -132,6 +132,7 @@
     /* Send request */
     ret_node = axis2_svc_client_send_receive(svc_client, env, payload);
 
+
     if (axis2_svc_client_get_last_response_has_fault(svc_client, env))
     {
         axiom_soap_envelope_t *soap_envelope = NULL;
@@ -164,6 +165,8 @@
             printf("\nReceived OM : %s\n", om_str);
         }
         printf("\necho client invoke SUCCESSFUL!\n");
+        AXIS2_FREE(env->allocator, om_str);
+        ret_node = NULL;
     }
     else
     {

Modified: webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c?rev=567654&r1=567653&r2=567654&view=diff
==============================================================================
--- webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c (original)
+++ webservices/rampart/trunk/c/src/omxmlsec/openssl/x509.c Mon Aug 20 04:09:29 2007
@@ -54,7 +54,7 @@
     }
     else
     {
-        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DECRYPT_FAILED, "New line removed buffer creation failed.");
+        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DEFAULT, "New line removed buffer creation failed.");
         return AXIS2_FAILURE;
     }
 
@@ -64,12 +64,13 @@
     decoded_len = axutil_base64_decode_binary(buff,formatted_buf);
     if (decoded_len < 0)
     {
-        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DECRYPT_FAILED, "axutil_base64_decode_binary failed");
+        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DEFAULT, "axutil_base64_decode_binary failed");
         return AXIS2_FAILURE;
     }
 
     if ((mem = BIO_new_mem_buf(buff, ilen)) == NULL)
     {
+        oxs_error(env, ERROR_LOCATION, OXS_ERROR_DEFAULT, "Cannot create a new memory buffer");
         return AXIS2_FAILURE;
     }
 
@@ -77,6 +78,7 @@
     /*Free*/
     BIO_free(mem);
     mem = NULL;
+    
     AXIS2_FREE(env->allocator, buff);
     buff = NULL;
 
@@ -104,16 +106,17 @@
     }
     /*Read certificate*/
     PEM_read_bio_X509(in, cert,NULL,NULL);
-    if(!*cert)
-    {
-        return AXIS2_FAILURE;
-    }
 
     if (-1 == BIO_reset(in) ){
         return AXIS2_FAILURE;
     }
 
     if (-1 == BIO_free(in)  ){
+        return AXIS2_FAILURE;
+    }
+    
+    if(!*cert)
+    {
         return AXIS2_FAILURE;
     }
     return AXIS2_SUCCESS;