diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-06-29 14:57:00 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-06-29 15:01:39 +0200 |
commit | 520931867ee2fac8415a624204414d3b62550996 (patch) | |
tree | 3b5ffa1e1347db9c0fd9977a1770f4d3aee51bce /apt-pkg | |
parent | fc5db01bb7d1546944200d197866b0b5c378f100 (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).
Diffstat (limited to 'apt-pkg')
-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 f38f956e4..01ae66ed2 100644 --- a/apt-pkg/depcache.cc +++ b/apt-pkg/depcache.cc @@ -327,6 +327,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); |