summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2016-07-07 22:27:42 +0200
committerGuillem Jover <guillem@debian.org>2016-07-08 01:36:47 +0200
commit1b33c6611fef5a8a370e8dd94b01114d6b33ad33 (patch)
tree1d47f464f56e2ed5ea22e757a754fbcc2acfce82
parenta3fe877790c4f8feb6e99bdd49912aeb75c996d1 (diff)
downloaddpkg-1b33c6611fef5a8a370e8dd94b01114d6b33ad33.tar.gz
dpkg: Use the conffile name instead of the real pathname it might refer to
When activating file triggers on conffile purge, use the conffile name instead of the real pathname it might refer to. This fixes a segfault when using --instdir, or when the conffile has been moved around and replaced with a symlink to the target. Regression introduced in 2f065fc151ac4635ae40bd769d1be810e1222e05. Closes: #830267 Stable-Candidate: 1.17.x
-rw-r--r--debian/changelog5
-rw-r--r--src/remove.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 762102384..84d7d4a9a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,11 @@ dpkg (1.18.10) UNRELEASED; urgency=medium
[ Guillem Jover ]
* Fix a short-lived memory leak in dpkg archive argument parsing.
+ * When activating file triggers on conffile purge, use the conffile name
+ instead of the real pathname it might refer to. This fixes a segfault
+ when using --instdir, or when the conffile has been moved around and
+ replaced with a symlink to the target.
+ Regression introduced in dpkg 1.18.8. Closes: #830267
* Perl modules:
- Disable fixdebugpath feature on unsafe characters in the path.
* Documentation:
diff --git a/src/remove.c b/src/remove.c
index d16454620..88479ea26 100644
--- a/src/remove.c
+++ b/src/remove.c
@@ -529,7 +529,7 @@ static void removal_bulk_remove_configfiles(struct pkginfo *pkg) {
if (rc == -1)
continue;
- namenode = findnamenode(fnvb.buf, fnn_nonew);
+ namenode = findnamenode(conff->name, 0);
usenode = namenodetouse(namenode, pkg, &pkg->installed);
trig_path_activate(usenode, pkg);