[ 
https://issues.apache.org/jira/browse/AXISCPP-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12496595
 ] 

Wayne Johnson commented on AXISCPP-1031:
----------------------------------------

Patch:  (Permission is given to include this in the product)

Index: transport/axis3/HTTPSSLChannel/HTTPSSLChannel.cpp
===================================================================
--- transport/axis3/HTTPSSLChannel/HTTPSSLChannel.cpp   (revision 516429)
+++ transport/axis3/HTTPSSLChannel/HTTPSSLChannel.cpp   (working copy)
@@ -710,8 +710,13 @@
 int HTTPSSLChannel::
 WriteToSocket( const char * psTxBuffer, int iSize)
 {
-    int nByteSent;
+    int nByteSent=-1;

+    if (!m_sslHandle)
+    {
+      return -1;
+    }
+
     nByteSent = SSL_write( m_sslHandle, (char *) psTxBuffer, iSize);

     if(nByteSent < 0)

This could also be fixed by having httptransport.cpp check the return codes 
from it's calls to writeBytes.


> SSL_write called with m_sslHandle=null when socket closed
> ---------------------------------------------------------
>
>                 Key: AXISCPP-1031
>                 URL: https://issues.apache.org/jira/browse/AXISCPP-1031
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: Transport (axis3)
>    Affects Versions:  1.6 Final
>         Environment: Testing with Axis[J] on a jetty server.  Server has 
> maxIdleTime=60000 (for testing, but any time could be used).  WIndowsXP.
>            Reporter: Wayne Johnson
>             Fix For:  1.6 Final
>
>
> When Jetty closes the socket due to maxIdleTime, the next write (from 
> httptransport.cpp, ~line 264) detects the closure and calls 
> HTTPSSLChannel::OpenSSL_Close(), which sets m_sslHandle = NULL.  
> httptransport.cpp, ~line 265 then calls the m_pActiveChannel->writeBytes() 
> again to send the remainder of the packet (without checking if the first 
> write succeded).  The null handle causes a crash.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to