return CURLE_BAD_CONTENT_ENCODING;
}
- /* Copy the data out and free the SSPI allocated buffer as it is not required
- anymore */
+ /* Copy the data out and free the challenge as it is not required anymore */
memcpy(&indata, input_buf[1].pvBuffer, 4);
s_pSecFn->FreeContextBuffer(input_buf[1].pvBuffer);
+ Curl_safefree(chlg);
/* Extract the security layer */
sec_layer = indata & 0x000000FF;
if(!(sec_layer & KERB_WRAP_NO_ENCRYPT)) {
infof(data, "GSSAPI handshake failure (invalid security layer)\n");
- Curl_safefree(chlg);
-
return CURLE_BAD_CONTENT_ENCODING;
}
/* Allocate the trailer */
trailer = malloc(sizes.cbSecurityTrailer);
- if(!trailer) {
- Curl_safefree(chlg);
-
+ if(!trailer)
return CURLE_OUT_OF_MEMORY;
- }
/* Convert the user name to UTF8 when operating with Unicode */
user_name = Curl_convert_tchar_to_UTF8(names.sUserName);
if(!user_name) {
Curl_safefree(trailer);
- Curl_safefree(chlg);
return CURLE_OUT_OF_MEMORY;
}
message = malloc(messagelen);
if(!message) {
Curl_safefree(trailer);
- Curl_safefree(chlg);
Curl_unicodefree(user_name);
return CURLE_OUT_OF_MEMORY;
if(!padding) {
Curl_safefree(message);
Curl_safefree(trailer);
- Curl_safefree(chlg);
return CURLE_OUT_OF_MEMORY;
}
Curl_safefree(padding);
Curl_safefree(message);
Curl_safefree(trailer);
- Curl_safefree(chlg);
return CURLE_OUT_OF_MEMORY;
}
Curl_safefree(padding);
Curl_safefree(message);
Curl_safefree(trailer);
- Curl_safefree(chlg);
return CURLE_OUT_OF_MEMORY;
}
Curl_safefree(padding);
Curl_safefree(message);
Curl_safefree(trailer);
- Curl_safefree(chlg);
return result;
}