Loading CHANGES +7 −0 Original line number Original line Diff line number Diff line Loading @@ -6,9 +6,16 @@ Changelog Changelog <<<<<<< CHANGES Daniel S (23 Jan 2008) - "Igor" pointed out that CURLOPT_COOKIELIST set to "ALL" leaked memory, and so did "SESS". Fixed now. ======= Yang Tse (22 Jan 2008) Yang Tse (22 Jan 2008) - Check poll.h at configuration time, and use it when sys/poll.h unavailable - Check poll.h at configuration time, and use it when sys/poll.h unavailable >>>>>>> 1.1234 Daniel S (22 Jan 2008) Daniel S (22 Jan 2008) - Dmitry Kurochkin removed the cancelled state for pipelining, as we agreed - Dmitry Kurochkin removed the cancelled state for pipelining, as we agreed that it is bad anyway. Starting now, removing a handle that is in used in a that it is bad anyway. Starting now, removing a handle that is in used in a Loading RELEASE-NOTES +1 −0 Original line number Original line Diff line number Diff line Loading @@ -60,6 +60,7 @@ This release includes the following bugfixes: o curl_multi_fdset() failed to return socket while doing CONNECT over proxy o curl_multi_fdset() failed to return socket while doing CONNECT over proxy o curl_multi_remove_handle() on a handle that is in used for a pipeline now o curl_multi_remove_handle() on a handle that is in used for a pipeline now break that pipeline break that pipeline o CURLOPT_COOKIELIST memory leaks This release includes the following known bugs: This release includes the following known bugs: Loading lib/cookie.c +12 −6 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____| * * * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -812,7 +812,7 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c, void Curl_cookie_clearall(struct CookieInfo *cookies) void Curl_cookie_clearall(struct CookieInfo *cookies) { { if(cookies) { if(cookies) { Curl_cookie_freelist(cookies->cookies); Curl_cookie_freelist(cookies->cookies, TRUE); cookies->cookies = NULL; cookies->cookies = NULL; cookies->numcookies = 0; cookies->numcookies = 0; } } Loading @@ -824,16 +824,22 @@ void Curl_cookie_clearall(struct CookieInfo *cookies) * * * Free a list of cookies previously returned by Curl_cookie_getlist(); * Free a list of cookies previously returned by Curl_cookie_getlist(); * * * The 'cookiestoo' argument tells this function whether to just free the * list or actually also free all cookies within the list as well. * ****************************************************************************/ ****************************************************************************/ void Curl_cookie_freelist(struct Cookie *co) void Curl_cookie_freelist(struct Cookie *co, bool cookiestoo) { { struct Cookie *next; struct Cookie *next; if(co) { if(co) { while(co) { while(co) { next = co->next; next = co->next; free(co); /* we only free the struct since the "members" are all if(cookiestoo) just copied! */ freecookie(co); else free(co); /* we only free the struct since the "members" are all just pointed out in the main cookie list! */ co = next; co = next; } } } } Loading Loading @@ -867,7 +873,7 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies) else else prev->next = next; prev->next = next; free(curr); freecookie(curr); cookies->numcookies--; cookies->numcookies--; } } else else Loading lib/cookie.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____| * * * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -91,7 +91,7 @@ struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, const char *, struct CookieInfo *, bool); const char *, struct CookieInfo *, bool); struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, const char *, bool); const char *, bool); void Curl_cookie_freelist(struct Cookie *); void Curl_cookie_freelist(struct Cookie *cookies, bool cookiestoo); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); void Curl_cookie_cleanup(struct CookieInfo *); void Curl_cookie_cleanup(struct CookieInfo *); Loading lib/http.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -2374,7 +2374,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } } co = co->next; /* next cookie please */ co = co->next; /* next cookie please */ } } Curl_cookie_freelist(store); /* free the cookie list */ Curl_cookie_freelist(store, FALSE); /* free the cookie list */ } } if(addcookies && (CURLE_OK == result)) { if(addcookies && (CURLE_OK == result)) { if(!count) if(!count) Loading Loading
CHANGES +7 −0 Original line number Original line Diff line number Diff line Loading @@ -6,9 +6,16 @@ Changelog Changelog <<<<<<< CHANGES Daniel S (23 Jan 2008) - "Igor" pointed out that CURLOPT_COOKIELIST set to "ALL" leaked memory, and so did "SESS". Fixed now. ======= Yang Tse (22 Jan 2008) Yang Tse (22 Jan 2008) - Check poll.h at configuration time, and use it when sys/poll.h unavailable - Check poll.h at configuration time, and use it when sys/poll.h unavailable >>>>>>> 1.1234 Daniel S (22 Jan 2008) Daniel S (22 Jan 2008) - Dmitry Kurochkin removed the cancelled state for pipelining, as we agreed - Dmitry Kurochkin removed the cancelled state for pipelining, as we agreed that it is bad anyway. Starting now, removing a handle that is in used in a that it is bad anyway. Starting now, removing a handle that is in used in a Loading
RELEASE-NOTES +1 −0 Original line number Original line Diff line number Diff line Loading @@ -60,6 +60,7 @@ This release includes the following bugfixes: o curl_multi_fdset() failed to return socket while doing CONNECT over proxy o curl_multi_fdset() failed to return socket while doing CONNECT over proxy o curl_multi_remove_handle() on a handle that is in used for a pipeline now o curl_multi_remove_handle() on a handle that is in used for a pipeline now break that pipeline break that pipeline o CURLOPT_COOKIELIST memory leaks This release includes the following known bugs: This release includes the following known bugs: Loading
lib/cookie.c +12 −6 Original line number Original line Diff line number Diff line Loading @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____| * * * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -812,7 +812,7 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c, void Curl_cookie_clearall(struct CookieInfo *cookies) void Curl_cookie_clearall(struct CookieInfo *cookies) { { if(cookies) { if(cookies) { Curl_cookie_freelist(cookies->cookies); Curl_cookie_freelist(cookies->cookies, TRUE); cookies->cookies = NULL; cookies->cookies = NULL; cookies->numcookies = 0; cookies->numcookies = 0; } } Loading @@ -824,16 +824,22 @@ void Curl_cookie_clearall(struct CookieInfo *cookies) * * * Free a list of cookies previously returned by Curl_cookie_getlist(); * Free a list of cookies previously returned by Curl_cookie_getlist(); * * * The 'cookiestoo' argument tells this function whether to just free the * list or actually also free all cookies within the list as well. * ****************************************************************************/ ****************************************************************************/ void Curl_cookie_freelist(struct Cookie *co) void Curl_cookie_freelist(struct Cookie *co, bool cookiestoo) { { struct Cookie *next; struct Cookie *next; if(co) { if(co) { while(co) { while(co) { next = co->next; next = co->next; free(co); /* we only free the struct since the "members" are all if(cookiestoo) just copied! */ freecookie(co); else free(co); /* we only free the struct since the "members" are all just pointed out in the main cookie list! */ co = next; co = next; } } } } Loading Loading @@ -867,7 +873,7 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies) else else prev->next = next; prev->next = next; free(curr); freecookie(curr); cookies->numcookies--; cookies->numcookies--; } } else else Loading
lib/cookie.h +2 −2 Original line number Original line Diff line number Diff line Loading @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____| * * * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. * * * This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms Loading Loading @@ -91,7 +91,7 @@ struct CookieInfo *Curl_cookie_init(struct SessionHandle *data, const char *, struct CookieInfo *, bool); const char *, struct CookieInfo *, bool); struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, const char *, bool); const char *, bool); void Curl_cookie_freelist(struct Cookie *); void Curl_cookie_freelist(struct Cookie *cookies, bool cookiestoo); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); void Curl_cookie_cleanup(struct CookieInfo *); void Curl_cookie_cleanup(struct CookieInfo *); Loading
lib/http.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -2374,7 +2374,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } } co = co->next; /* next cookie please */ co = co->next; /* next cookie please */ } } Curl_cookie_freelist(store); /* free the cookie list */ Curl_cookie_freelist(store, FALSE); /* free the cookie list */ } } if(addcookies && (CURLE_OK == result)) { if(addcookies && (CURLE_OK == result)) { if(!count) if(!count) Loading