X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=lib%2Fcurl_ntlm_wb.c;h=5e2d79cb40fd8f1c58deeaded36422a6a7f9a41f;hb=7a9f915fa6be8c8955ff2c59169538a4d0349080;hp=b2a5fb3438519e3e3451d105bde78b3949b4e324;hpb=2bc9d6bb53df44a0c5174767de734620c2cdfd9e;p=platform%2Fupstream%2Fcurl.git diff --git a/lib/curl_ntlm_wb.c b/lib/curl_ntlm_wb.c index b2a5fb3..5e2d79c 100644 --- a/lib/curl_ntlm_wb.c +++ b/lib/curl_ntlm_wb.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. + * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -51,10 +51,12 @@ #include "curl_ntlm_wb.h" #include "url.h" #include "strerror.h" -#include "curl_printf.h" - -/* The last #include files should be: */ #include "curl_memory.h" + +#define _MPRINTF_REPLACE /* use our functions only */ +#include + +/* The last #include file should be: */ #include "memdebug.h" #if DEBUG_ME @@ -105,9 +107,9 @@ void Curl_ntlm_wb_cleanup(struct connectdata *conn) conn->ntlm_auth_hlpr_pid = 0; } - free(conn->challenge_header); + Curl_safefree(conn->challenge_header); conn->challenge_header = NULL; - free(conn->response_header); + Curl_safefree(conn->response_header); conn->response_header = NULL; } @@ -244,13 +246,13 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp) sclose(sockfds[1]); conn->ntlm_auth_hlpr_socket = sockfds[0]; conn->ntlm_auth_hlpr_pid = child_pid; - free(domain); - free(ntlm_auth_alloc); + Curl_safefree(domain); + Curl_safefree(ntlm_auth_alloc); return CURLE_OK; done: - free(domain); - free(ntlm_auth_alloc); + Curl_safefree(domain); + Curl_safefree(ntlm_auth_alloc); return CURLE_REMOTE_ACCESS_DENIED; } @@ -306,7 +308,7 @@ static CURLcode ntlm_wb_response(struct connectdata *conn, if(state == NTLMSTATE_TYPE1 && len_out == 3 && buf[0] == 'P' && buf[1] == 'W') - goto done; + return CURLE_REMOTE_ACCESS_DENIED; /* invalid response */ if(len_out < 4) goto done; @@ -389,12 +391,12 @@ CURLcode Curl_output_ntlm_wb(struct connectdata *conn, if(res) return res; - free(*allocuserpwd); + Curl_safefree(*allocuserpwd); *allocuserpwd = aprintf("%sAuthorization: %s\r\n", proxy ? "Proxy-" : "", conn->response_header); DEBUG_OUT(fprintf(stderr, "**** Header %s\n ", *allocuserpwd)); - free(conn->response_header); + Curl_safefree(conn->response_header); conn->response_header = NULL; break; case NTLMSTATE_TYPE2: @@ -407,7 +409,7 @@ CURLcode Curl_output_ntlm_wb(struct connectdata *conn, if(res) return res; - free(*allocuserpwd); + Curl_safefree(*allocuserpwd); *allocuserpwd = aprintf("%sAuthorization: %s\r\n", proxy ? "Proxy-" : "", conn->response_header); @@ -419,8 +421,10 @@ CURLcode Curl_output_ntlm_wb(struct connectdata *conn, case NTLMSTATE_TYPE3: /* connection is already authenticated, * don't send a header in future requests */ - free(*allocuserpwd); - *allocuserpwd=NULL; + if(*allocuserpwd) { + free(*allocuserpwd); + *allocuserpwd=NULL; + } authp->done = TRUE; break; }