summaryrefslogtreecommitdiffstats
path: root/source3/registry
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2011-06-30 14:37:49 +0200
committerMichael Adam <obnox@samba.org>2011-06-30 15:41:23 +0200
commit1f72088633c2215a23e086c8627f35621b47ffec (patch)
tree4fb179e30848c9240b3ae5505cbe4f09d9e5fa17 /source3/registry
parent2b162db6e9cc3e098f339516bbda719618664a83 (diff)
downloadsamba-1f72088633c2215a23e086c8627f35621b47ffec.tar.gz
samba-1f72088633c2215a23e086c8627f35621b47ffec.tar.xz
samba-1f72088633c2215a23e086c8627f35621b47ffec.zip
s3:registry: when deleting the records for a key, also delete the sorted subkeys cache
This prevents orphaned empty sorted subkeys cache records from filling the database. Pair-Programmed-With: Gregor Beck <gbeck@sernet.de> Signed-off-by: Michael Adam <obnox@samba.org>
Diffstat (limited to 'source3/registry')
-rw-r--r--source3/registry/reg_backend_db.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c
index c82ab1dc25..2fda23895f 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -737,6 +737,14 @@ static WERROR regdb_delete_key_lists(struct db_context *db, const char *keyname)
goto done;
}
+ werr = regdb_delete_sorted_subkeys(db, keyname);
+ if (!W_ERROR_IS_OK(werr)) {
+ DEBUG(1, (__location__ " Deleting %s\\%s failed: %s\n",
+ REG_SORTED_SUBKEYS_PREFIX, keyname,
+ win_errstr(werr)));
+ goto done;
+ }
+
werr = regdb_delete_subkeylist(db, keyname);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(1, (__location__ " Deleting %s failed: %s\n",