summaryrefslogtreecommitdiff
path: root/src/ne_sspi.c
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2006-01-07 17:36:42 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2006-01-07 17:36:42 +0000
commit7d2c1c375f6b0c8c7f415307ab048b7ba1ca2b92 (patch)
treeb65f3c50c793199cc977160c53f83419fa54cb57 /src/ne_sspi.c
parentcb791788d1339ef54dc9248d000fdfcc1a6fbcf0 (diff)
downloadneon-7d2c1c375f6b0c8c7f415307ab048b7ba1ca2b92.tar.gz
Patch from Stefan Küng:
* src/ne_sspi.c: free allocated memory before returning with an error. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@832 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'src/ne_sspi.c')
-rw-r--r--src/ne_sspi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ne_sspi.c b/src/ne_sspi.c
index d530112..80889e3 100644
--- a/src/ne_sspi.c
+++ b/src/ne_sspi.c
@@ -468,6 +468,7 @@ int ne_sspi_authenticate(void *context, const char *base64Token, char **response
SecBuffer inBuffer;
if (!sspiContext->continueNeeded) {
+ freeBuffer(&outBufferDesc);
NE_DEBUG(NE_DBG_HTTPAUTH, "sspi: Got an unexpected token.\n");
return -1;
}
@@ -476,6 +477,7 @@ int ne_sspi_authenticate(void *context, const char *base64Token, char **response
status = base64ToBuffer(base64Token, &inBufferDesc);
if (status) {
+ freeBuffer(&outBufferDesc);
return status;
}
@@ -488,6 +490,7 @@ int ne_sspi_authenticate(void *context, const char *base64Token, char **response
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 @@ int ne_sspi_authenticate(void *context, const char *base64Token, char **response
if (acquireCredentialsHandle
(&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) {
+ freeBuffer(&outBufferDesc);
NE_DEBUG(NE_DBG_HTTPAUTH,
"sspi: acquireCredentialsHandle failed.\n");
return -1;