On Thu, Oct 06, 2005 at 02:48:07PM +0200, Michael Petuschak wrote:
> Hi Alexander,
>
>  > Probably this bug is fixed in 3.3.1rc2, please test.
>
> Unfortunatelly, it's not:

Ok, it is another problem. Here is a patch, please test.
BTW, ElectricFence is invaluable for finding such bugs.

--
   Alexander.
Index: Job.cc
===================================================================
RCS file: /home/lav/cvsroot/lftp/src/Job.cc,v
retrieving revision 1.30
diff -u -p -r1.30 Job.cc
--- Job.cc      5 Oct 2005 11:12:17 -0000       1.30
+++ Job.cc      6 Oct 2005 14:01:04 -0000
@@ -62,20 +62,14 @@ Job::~Job()
         if(scan->parent==this)
         {
            if(scan->jobno!=-1 && this->parent)
-           {
               scan->parent=this->parent;
-              scan=scan->next;
-           }
-           else if(!scan->deleting)
+           else
            {
-              Delete(scan);
-              scan=chain;
+              scan->parent=0;
+              scan->deleting=true;
            }
-           else
-              scan=scan->next;
         }
-        else
-           scan=scan->next;
+        scan=scan->next;
       }
    }
    // if parent waits for the job, make it stop

Reply via email to