Browse Source

Merge pull request #11712 from RussWhitehead/secureSocket

HPCC-20553 New defects reported by Coverity Scan

Reviewed-By: Mark Kelly <mark.kelly@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 6 years ago
parent
commit
adf64d8279
2 changed files with 9 additions and 3 deletions
  1. 3 1
      system/security/securesocket/securesocket.cpp
  2. 6 2
      tools/testsocket/testsocket.cpp

+ 3 - 1
system/security/securesocket/securesocket.cpp

@@ -1715,7 +1715,9 @@ public:
         {
             ssock.setown(secureContext->createSecureSocket(sock.getClear()));
             // secure_connect may also DBGLOG() errors ...
-            ssock->secure_connect();
+            int res = ssock->secure_connect();
+            if (res < 0)
+                throw MakeStringException(-1, "connect_timeout : Failed to establish secure connection");
         }
         catch (IException *)
         {

+ 6 - 2
tools/testsocket/testsocket.cpp

@@ -553,7 +553,9 @@ int doSendQuery(const char * ip, unsigned port, const char * base)
                     if (!persistSecureContext)
                         persistSecureContext.setown(createSecureSocketContext(ClientSocket));
                     persistSSock.setown(persistSecureContext->createSecureSocket(persistSocket.getClear()));
-                    persistSSock->secure_connect();
+                    int res = persistSSock->secure_connect();
+                    if (res < 0)
+                        throw MakeStringException(-1, "doSendQuery : Failed to establish secure connection");
                     persistSocket.setown(persistSSock.getClear());
 #else
                     throw MakeStringException(-1, "OpenSSL disabled in build");
@@ -571,7 +573,9 @@ int doSendQuery(const char * ip, unsigned port, const char * base)
 #ifdef _USE_OPENSSL
                 secureContext.setown(createSecureSocketContext(ClientSocket));
                 Owned<ISecureSocket> ssock = secureContext->createSecureSocket(socket.getClear());
-                ssock->secure_connect();
+                int res = ssock->secure_connect();
+                if (res < 0)
+                    throw MakeStringException(-1, "doSendQuery : Failed to establish secure connection");
                 socket.setown(ssock.getClear());
 #else
                 throw MakeStringException(1, "OpenSSL disabled in build");