summaryrefslogtreecommitdiff
path: root/configmgr
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-05-09 12:15:09 +0200
committerAndras Timar <andras.timar@collabora.com>2018-05-15 10:15:12 +0200
commitcda11986dfb9934e49ab4fedaed0dfebbc172a2c (patch)
treeaa8af2180ab6ca1378a42c56493f6e22623dbcd3 /configmgr
parentca112916f87e3012fb6fbecde8ad32ebd315610e (diff)
Missing template clone() in configmgr dconf mode
...that could cause infinite recursion, e.g. when an erroneously modified /org.openoffice.ucb.Hierarchy/Entry template (which recursively has children of the same template type) is later used to instantiate a new set member. Change-Id: I7b9e55fa1c92979aed98b9f23f4432600afffed4 Reviewed-on: https://gerrit.libreoffice.org/54024 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 193d244efd0cea8011f5e6c7221dbf3b4d8459b8)
Diffstat (limited to 'configmgr')
-rw-r--r--configmgr/source/dconf.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 22c80841addf..642e37ec0257 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -938,6 +938,7 @@ void readDir(
<< templ);
continue;
}
+ member = member->clone(true);
break;
default:
assert(false); // cannot happen