From: Yang Tse Date: Sat, 6 Feb 2010 17:30:06 +0000 (+0000) Subject: OOM handling fix X-Git-Tag: curl-7_20_0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71593dfe57e2b364fb794b1dc993e029e16d57f7;p=thirdparty%2Fcurl.git OOM handling fix --- diff --git a/lib/rtsp.c b/lib/rtsp.c index 8f3218947f..8aaac89ff9 100644 --- a/lib/rtsp.c +++ b/lib/rtsp.c @@ -461,15 +461,17 @@ CURLcode Curl_rtsp(struct connectdata *conn, bool *done) if(!Curl_checkheaders(data, "Content-Type:")) { result = Curl_add_bufferf(req_buffer, "Content-Type: text/parameters\r\n"); + if(result) + return result; } - if(result) - return result; } if(rtspreq == RTSPREQ_ANNOUNCE) { if(!Curl_checkheaders(data, "Content-Type:")) { result = Curl_add_bufferf(req_buffer, "Content-Type: application/sdp\r\n"); + if(result) + return result; } } diff --git a/lib/url.c b/lib/url.c index 8340e52c0c..0b1446c170 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4321,13 +4321,19 @@ static CURLcode set_userpass(struct connectdata *conn, !conn->bits.user_passwd) { conn->user = strdup(CURL_DEFAULT_USER); - conn->passwd = strdup(CURL_DEFAULT_PASSWORD); + if(conn->user) + conn->passwd = strdup(CURL_DEFAULT_PASSWORD); + else + conn->passwd = NULL; /* This is the default password, so DON'T set conn->bits.user_passwd */ } else { /* store user + password, zero-length if not set */ conn->user = strdup(user); - conn->passwd = strdup(passwd); + if(conn->user) + conn->passwd = strdup(passwd); + else + conn->passwd = NULL; } if(!conn->user || !conn->passwd) return CURLE_OUT_OF_MEMORY;