]> git.saurik.com Git - apt.git/commitdiff
fix resource leak (thanks coverity)
authorMichael Vogt <mvo@debian.org>
Thu, 25 Jul 2013 18:26:11 +0000 (20:26 +0200)
committerMichael Vogt <mvo@debian.org>
Thu, 25 Jul 2013 18:26:11 +0000 (20:26 +0200)
apt-pkg/contrib/fileutl.cc

index edf612810da933633c01b3a2363ae2671c7e78ac..398830ff554854c2d7a591457759ebefad2c1f76 100644 (file)
@@ -244,17 +244,21 @@ int GetLock(string File,bool Errors)
    fl.l_len = 0;
    if (fcntl(FD,F_SETLK,&fl) == -1)
    {
+      // always close to not leak resources
+      int Tmp = errno;
+      close(FD);
+      errno = Tmp;
+
       if (errno == ENOLCK)
       {
+
         _error->Warning(_("Not using locking for nfs mounted lock file %s"),File.c_str());
         return dup(0);       // Need something for the caller to close  
-      }      
+      }
+  
       if (Errors == true)
         _error->Errno("open",_("Could not get lock %s"),File.c_str());
       
-      int Tmp = errno;
-      close(FD);
-      errno = Tmp;
       return -1;
    }