diff --git a/lib/transfer.c b/lib/transfer.c index 1371e8de5aac7c3449b52f37475f1a6d99471e73..2f80909f4308793f1aabf3e2bedeea4d10bf1fff 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1777,8 +1777,10 @@ CURLcode Curl_follow(struct SessionHandle *data, newest=(char *)malloc( urllen + 1 + /* possible slash */ newlen + 1 /* zero byte */); - if(!newest) + if(!newest) { + free(url_clone); /* don't leak this */ return CURLE_OUT_OF_MEMORY; /* go out from this */ + } /* copy over the root url part */ memcpy(newest, url_clone, urllen);