]> git.saurik.com Git - apt.git/blobdiff - methods/http.cc
Hopefully fixed the scan bug
[apt.git] / methods / http.cc
index 0467dd3eb6b2902c9256f46501d23c063cc65436..9cb6d1b21bfddd85a60975134ffc35e4aeb0537d 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: http.cc,v 1.21 1999/01/04 00:57:56 jgg Exp $
+// $Id: http.cc,v 1.24 1999/01/30 08:23:49 jgg Exp $
 /* ######################################################################
 
    HTTP Aquire Method - This is the HTTP aquire method for APT.
@@ -875,6 +875,7 @@ int HttpMethod::DealWithHeaders(FetchResult &Res,ServerState *Srv)
       return 5;
 
    FailFile = Queue->DestFile;
+   FailFile.c_str();   // Make sure we don't do a malloc in the signal handler
    FailFd = File->Fd();
    FailTime = Srv->Date;
       
@@ -987,7 +988,7 @@ int HttpMethod::Loop()
    {
       if (FailCounter >= 2)
       {
-        Fail("Massive Server Brain Damage");
+        Fail("Massive Server Brain Damage",true);
         FailCounter = 0;
       }
       
@@ -1019,7 +1020,9 @@ int HttpMethod::Loop()
       // Connnect to the host
       if (Server->Open() == false)
       {
-        Fail();
+        Fail(true);
+        delete Server;
+        Server = 0;
         continue;
       }
 
@@ -1036,7 +1039,7 @@ int HttpMethod::Loop()
         case 2:
         {
            _error->Error("Bad header Data");
-           Fail();
+           Fail(true);
            continue;
         }