summaryrefslogtreecommitdiff
path: root/apt-pkg
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-06-29 14:57:00 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2016-06-29 15:01:39 +0200
commit520931867ee2fac8415a624204414d3b62550996 (patch)
tree3b5ffa1e1347db9c0fd9977a1770f4d3aee51bce /apt-pkg
parentfc5db01bb7d1546944200d197866b0b5c378f100 (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.cc5
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);