Hi,

There's a small memory leak in the sspi code. If sspi auth fails, the allocated buffer isn't freed.

Patch with log message attached.

Stefan

--
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.tigris.org
[[[
Fix memory leak.
* src/ne_sspi.c:
  free allocated memory before returning with an error.
]]]
Index: src/ne_sspi.c
===================================================================
--- src/ne_sspi.c       (Revision 831)
+++ src/ne_sspi.c       (Arbeitskopie)
@@ -468,6 +468,7 @@
         SecBuffer inBuffer;
 
         if (!sspiContext->continueNeeded) {
+                       freeBuffer(&outBufferDesc);
             NE_DEBUG(NE_DBG_HTTPAUTH, "sspi: Got an unexpected token.\n");
             return -1;
         }
@@ -476,6 +477,7 @@
 
         status = base64ToBuffer(base64Token, &inBufferDesc);
         if (status) {
+                       freeBuffer(&outBufferDesc);
             return status;
         }
 
@@ -488,6 +490,7 @@
         freeBuffer(&inBufferDesc);
     } else {
         if (sspiContext->continueNeeded) {
+                       freeBuffer(&outBufferDesc);
             NE_DEBUG(NE_DBG_HTTPAUTH, "sspi: Expected a token from server.\n");
             return -1;
         }
@@ -497,6 +500,7 @@
 
         if (acquireCredentialsHandle
             (&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) {
+                       freeBuffer(&outBufferDesc);
             NE_DEBUG(NE_DBG_HTTPAUTH,
                      "sspi: acquireCredentialsHandle failed.\n");
             return -1;
_______________________________________________
neon mailing list
[email protected]
http://mailman.webdav.org/mailman/listinfo/neon

Reply via email to