fix crash sending e-mail with kerberos auth via sspi, 319210 patch by simon@sxw.org.uk, r=cneberg@gmail.com, sr=bienvenu

git-svn-id: svn://10.0.0.236/trunk@188173 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bienvenu%nventure.com 2006-01-25 20:26:08 +00:00
parent 1435854e5f
commit a4f905331f

View File

@ -390,6 +390,9 @@ nsAuthSSPI::Unwrap(const void *inToken,
ib[0].BufferType = SECBUFFER_STREAM;
ib[0].cbBuffer = inTokenLen;
ib[0].pvBuffer = nsMemory::Alloc(ib[0].cbBuffer);
if (!ib[0].pvBuffer)
return NS_ERROR_OUT_OF_MEMORY;
memcpy(ib[0].pvBuffer, inToken, inTokenLen);
// app data
@ -413,7 +416,10 @@ nsAuthSSPI::Unwrap(const void *inToken,
nsMemory::Free(ib[0].pvBuffer);
return rc;
if (!SEC_SUCCESS(rc))
return NS_ERROR_FAILURE;
return NS_OK;
}
// utility class used to free memory on exit
@ -457,7 +463,7 @@ nsAuthSSPI::Wrap(const void *inToken,
&sizes);
if (!SEC_SUCCESS(rc))
return rc;
return NS_ERROR_FAILURE;
ibd.cBuffers = 3;
ibd.pBuffers = bufs.ib;
@ -508,7 +514,11 @@ nsAuthSSPI::Wrap(const void *inToken,
memcpy(outToken + bufs.ib[0].cbBuffer + bufs.ib[1].cbBuffer,
bufs.ib[2].pvBuffer, bufs.ib[2].cbBuffer);
*outTokenLen = len;
return NS_OK;
}
return rc;
return NS_ERROR_FAILURE;
}