Fixed test 539 to handle an out of memory condition that shows up now

that memdebug.h is included in the test programs.
This commit is contained in:
Dan Fandrich 2008-09-22 17:20:29 +00:00
parent 54e49d10d2
commit abe61b9926
2 changed files with 23 additions and 7 deletions

View File

@ -6,6 +6,10 @@
Changelog Changelog
Daniel Fandrich (22 Sep 2008)
- Fixed test 539 to handle an out of memory condition that shows up now
that memdebug.h is included in the test programs.
Yang Tse (20 Sep 2008) Yang Tse (20 Sep 2008)
- Fix regression in configure script which affected OpenSSL builds on MSYS. - Fix regression in configure script which affected OpenSSL builds on MSYS.
@ -68,14 +72,15 @@ Daniel Stenberg (8 Sep 2008)
the cookie to not match. the cookie to not match.
Daniel Fandrich (5 Sep 2008) Daniel Fandrich (5 Sep 2008)
- Improved the logic the decides whether to use HTTP 1.1 features or not in a - Improved the logic that decides whether to use HTTP 1.1 features or not in a
request. Setting a specific version with CURLOPT_HTTP_VERSION overrides request. Setting a specific version with CURLOPT_HTTP_VERSION overrides
all other checks, but otherwise, a 1.0 request will be made if the server all other checks, but otherwise, a 1.0 request will be made if the server
is known to support only 1.0 because it previously responded so and the is known to support only 1.0 because it previously responded so and the
connection was kept alive, or a response to a previous request on this handle connection was kept alive, or a response to a previous request on this handle
came back as 1.0. The latter could take place in cases like redirection or came back as 1.0. The latter could take place in cases like redirection or
authentication where several requests have to be made before the operation authentication where several requests have to be made before the operation
is complete. is complete. If any one of the servers in a redirection chain supports only
1.0, then remaining requests will be sent in 1.0 mode.
- Detect cases where an upload must be sent chunked and the server supports - Detect cases where an upload must be sent chunked and the server supports
only HTTP 1.0 and return CURLE_UPLOAD_FAILED. only HTTP 1.0 and return CURLE_UPLOAD_FAILED.

View File

@ -35,7 +35,7 @@ int test(char *URL)
*/ */
curl_easy_setopt(curl, CURLOPT_URL, URL); curl_easy_setopt(curl, CURLOPT_URL, URL);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, CURLFTPMETHOD_SINGLECWD); curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD);
res = curl_easy_perform(curl); res = curl_easy_perform(curl);
@ -47,13 +47,24 @@ int test(char *URL)
* even though no directories are stored in the ftpconn->dirs array (after a * even though no directories are stored in the ftpconn->dirs array (after a
* call to freedirs). * call to freedirs).
*/ */
newURL = strcat (strcpy ((char*)malloc (strlen (URL) + 3), newURL = malloc(strlen(URL) + 3);
URL), if (newURL == NULL) {
"./"); curl_easy_cleanup(curl);
curl_global_cleanup();
return TEST_ERR_MAJOR_BAD;
}
newURL = strcat(strcpy(newURL, URL), "./");
slist = curl_slist_append (NULL, "SYST"); slist = curl_slist_append (NULL, "SYST");
if (slist == NULL) {
free(newURL);
curl_easy_cleanup(curl);
curl_global_cleanup();
return TEST_ERR_MAJOR_BAD;
}
curl_easy_setopt(curl, CURLOPT_URL, newURL); curl_easy_setopt(curl, CURLOPT_URL, newURL);
curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, CURLFTPMETHOD_NOCWD); curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD);
curl_easy_setopt(curl, CURLOPT_QUOTE, slist); curl_easy_setopt(curl, CURLOPT_QUOTE, slist);
res = curl_easy_perform(curl); res = curl_easy_perform(curl);