summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-12-07 14:42:25 +0100
committerJulian Andres Klode <jak@debian.org>2015-12-07 14:44:15 +0100
commit5a97834817dd43b7833881f38f512a9f2fdac8a9 (patch)
tree84b21bcb17dff140c9d0022d3b71aa7f019f097e /apt-pkg/deb/dpkgpm.cc
parente23ee4c21c6d8045ab020526aa864a48dc16ddd9 (diff)
Avoid overflow when summing up file sizes
We need to pass 0llu instead of 0 as the init value, otherwise std::accumulate will calculate with ints. Reported-by: Raphaƫl Hertzog
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r--apt-pkg/deb/dpkgpm.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 7355af9d5..ce9224791 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1194,7 +1194,7 @@ bool pkgDPkgPM::Go(APT::Progress::PackageManager *progress)
std::vector<const char *> Args(sArgs.size(), NULL);
std::transform(sArgs.begin(), sArgs.end(), Args.begin(),
[](std::string const &s) { return s.c_str(); });
- unsigned long long const StartSize = std::accumulate(sArgs.begin(), sArgs.end(), 0,
+ unsigned long long const StartSize = std::accumulate(sArgs.begin(), sArgs.end(), 0llu,
[](unsigned long long const i, std::string const &s) { return i + s.length(); });
size_t const BaseArgs = Args.size();