The following commit has been merged in the master branch:
commit d30fdccff56e8ed63e81e7e114c421d5c806d8e7
Author: Guillem Jover <[email protected]>
Date: Fri Nov 21 16:46:30 2008 +0200
libdpkg: Do not try to close already closed files
diff --git a/debian/changelog b/debian/changelog
index a0866d7..3566257 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ dpkg (1.15.3) UNRELEASED; urgency=low
* Use default compressor values in dpkg-source from Dpkg::Source::Compressor.
* Fix dpkg-scanpackages to properly detect spurious overrides.
* Rewrite dpkg-name in perl.
+ * Do not close already closed files in some error conditions in libdpkg.
[ Raphael Hertzog ]
* Unset TAR_OPTIONS when creating/extracting tar archives for source
diff --git a/lib/triglib.c b/lib/triglib.c
index 3a135d2..b9344b0 100644
--- a/lib/triglib.c
+++ b/lib/triglib.c
@@ -404,10 +404,14 @@ trk_explicit_interest_change(const char *trig, struct
pkginfo *pkg, int signum)
}
if (signum > 0)
fprintf(nf, "%s\n", pkg->name);
- if (ferror(nf) || fclose(nf))
+
+ if (ferror(nf))
ohshite(_("unable to write new trigger interest file `%.250s'"),
newfn.buf);
pop_cleanup(ehflag_normaltidy);
+ if (fclose(nf))
+ ohshite(_("unable to close new trigger interest file `%.250s'"),
+ newfn.buf);
if (rename(newfn.buf, trk_explicit_fn.buf))
ohshite(_("unable to install new trigger interest file
`%.250s'"),
@@ -498,10 +502,13 @@ trig_file_interests_save(void)
fprintf(nf, "%s %s\n", trigh.namenode_name(tfi->fnn),
tfi->pkg->name);
- if (ferror(nf) || fclose(nf))
+ if (ferror(nf))
ohshite(_("unable to write new file triggers file `%.250s'"),
triggersnewfilefile);
pop_cleanup(ehflag_normaltidy);
+ if (fclose(nf))
+ ohshite(_("unable to close new file triggers file `%.250s'"),
+ triggersnewfilefile);
if (rename(triggersnewfilefile, triggersfilefile))
ohshite(_("unable to install new file triggers file as
`%.250s'"),
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]