summaryrefslogtreecommitdiff
path: root/cmdline/apt-get.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2010-03-12 11:08:13 +0100
committerDavid Kalnischkies <kalnischkies@gmail.com>2010-03-12 11:08:13 +0100
commit3a4477a4241bcfbc9db541cf34cc75c1f1111b78 (patch)
treedadb366f6a4e1e4d53afe01b62b7f8ac4b1b82fd /cmdline/apt-get.cc
parent6cd9fbd763298816e5d010703ceb9ffad0c235c9 (diff)
* cmdline/apt-get.cc
- fix memory leaks in error conditions in DoSource()
Diffstat (limited to 'cmdline/apt-get.cc')
-rw-r--r--cmdline/apt-get.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index b35e16b92..849401b0c 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -2299,6 +2299,7 @@ bool DoSource(CommandLine &CmdL)
{
for (unsigned I = 0; I != J; I++)
ioprintf(cout,_("Fetch source %s\n"),Dsc[I].Package.c_str());
+ delete[] Dsc;
return true;
}
@@ -2309,6 +2310,7 @@ bool DoSource(CommandLine &CmdL)
for (; I != Fetcher.UriEnd(); I++)
cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
I->Owner->FileSize << ' ' << I->Owner->HashSum() << endl;
+ delete[] Dsc;
return true;
}
@@ -2334,6 +2336,7 @@ bool DoSource(CommandLine &CmdL)
if (_config->FindB("APT::Get::Download-only",false) == true)
{
c1out << _("Download complete and in download only mode") << endl;
+ delete[] Dsc;
return true;
}
@@ -2395,7 +2398,8 @@ bool DoSource(CommandLine &CmdL)
_exit(0);
}
-
+ delete[] Dsc;
+
// Wait for the subprocess
int Status = 0;
while (waitpid(Process,&Status,0) != Process)