summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2016-06-29 14:57:00 +0200
committerJulian Andres Klode <jak@debian.org>2016-08-31 13:15:23 +0200
commit19883e510af7ea682875d697cb88ad8a21a08d89 (patch)
tree44110510ea544ceef3169e5c143c9f338d535ba0
parentdd45e6db683f50b9d8b1b18c2cfe50a4f9a38feb (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)
-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 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);