From: Dan Fandrich Date: Wed, 9 Jul 2008 18:33:35 +0000 (+0000) Subject: Fixed an OOM handling problem that cause test 11 to fail the torture test. X-Git-Tag: upstream/7.37.1~7667 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d4b253ba3ec87e1d703910bdb278d142e6e6abf8;p=platform%2Fupstream%2Fcurl.git Fixed an OOM handling problem that cause test 11 to fail the torture test. --- diff --git a/CHANGES b/CHANGES index 475b0ba..8b9c8b3 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,9 @@ Changelog +Daniel Fandrich (9 Jul 2008) +- Fixed an OOM handling problem that cause test 11 to fail the torture test. + Daniel Fandrich (8 Jul 2008) - Fixed test 554 to pass the torture test. diff --git a/lib/transfer.c b/lib/transfer.c index b45be0a..11202af 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -2398,17 +2398,21 @@ CURLcode Curl_perform(struct SessionHandle *data) if(data->req.newurl) { follow = FOLLOW_REDIR; newurl = strdup(data->req.newurl); + if (!newurl) + res = CURLE_OUT_OF_MEMORY; } else if(data->req.location) { follow = FOLLOW_FAKE; newurl = strdup(data->req.location); + if (!newurl) + res = CURLE_OUT_OF_MEMORY; } } /* in the above cases where 'newurl' gets assigned, we have a fresh * allocated memory pointed to */ } - else { + if(res != CURLE_OK) { /* The transfer phase returned error, we mark the connection to get * closed to prevent being re-used. This is becasue we can't * possibly know if the connection is in a good shape or not now. */