[prev in list] [next in list] [prev in thread] [next in thread] 

List:       curl-commits
Subject:    cvs: curl / CHANGES  /lib url.c
From:       "Daniel Stenberg" <bagder () php ! net>
Date:       2003-12-15 14:48:42
[Download RAW message or body]

bagder		Mon Dec 15 09:48:42 2003 EDT

  Modified files:              
    /curl	CHANGES 
    /curl/lib	url.c 
  Log:
  Giuseppe Attardi fixed a really tricky bug
  
  
Index: curl/CHANGES
diff -u curl/CHANGES:1.412 curl/CHANGES:1.413
--- curl/CHANGES:1.412	Wed Dec 10 10:30:34 2003
+++ curl/CHANGES	Mon Dec 15 09:48:37 2003
@@ -7,6 +7,10 @@
                                   Changelog
 
 
+Daniel (15 December)
+- Giuseppe Attardi found and fixed a problem within libcurl that re-used
+  already freed memory.
+
 Daniel (10 December)
 - Gisle Vanem reported that the dict support was broken. I broke it during my
   ftps-changes overhaul. I've now added a 'curlassert' function that can be
Index: curl/lib/url.c
diff -u curl/lib/url.c:1.319 curl/lib/url.c:1.320
--- curl/lib/url.c:1.319	Tue Dec  2 08:27:29 2003
+++ curl/lib/url.c	Mon Dec 15 09:48:41 2003
@@ -18,7 +18,7 @@
  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
  * KIND, either express or implied.
  *
- * $Id: url.c,v 1.319 2003/12/02 13:27:29 bagder Exp $
+ * $Id: url.c,v 1.320 2003/12/15 14:48:41 bagder Exp $
  ***************************************************************************/
 
 /* -- WIN32 approved -- */
@@ -3281,6 +3281,9 @@
 
       conn->bits.close = TRUE; /* enforce close of this connetion */
       result = Curl_done(conn);   /* we are so done with this */
+
+      /* conn is no longer a good pointer */
+
       if(CURLE_OK == result) {
         bool async;
         /* Now, redo the connect and get a new connection */
@@ -3288,6 +3291,7 @@
         if(CURLE_OK == result) {
           /* We have connected or sent away a name resolve query fine */
 
+          conn = *connp; /* setup conn to again point to something nice */
           if(async) {
             /* Now, if async is TRUE here, we need to wait for the name
                to resolve */




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic