diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-06-29 14:57:00 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-08-31 13:15:23 +0200 |
commit | 19883e510af7ea682875d697cb88ad8a21a08d89 (patch) | |
tree | 44110510ea544ceef3169e5c143c9f338d535ba0 /apt-pkg/depcache.cc | |
parent | dd45e6db683f50b9d8b1b18c2cfe50a4f9a38feb (diff) |
if reading of autobit state failed, let write fail
If we can't read the old file we can't just move forward as that would
discard potentially discard old data (especially other fields). We let
it fail only after we are done writing the new file so a user has the
chance to look into and merge the new data (which is otherwise
discarded).
(cherry picked from commit 520931867ee2fac8415a624204414d3b62550996)
Diffstat (limited to 'apt-pkg/depcache.cc')
-rw-r--r-- | apt-pkg/depcache.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/apt-pkg/depcache.cc b/apt-pkg/depcache.cc index aa434e99c..5af94a58b 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -326,6 +326,11 @@ bool pkgDepCache::writeStateFile(OpProgress * const /*prog*/, bool const Install return false; } } + if (StateFile.Failed()) + { + OutFile.OpFail(); + return false; + } if (OutFile.Close() == false) return false; chmod(state.c_str(), 0644); |