diff --git a/src/security/security_dac.c b/src/security/security_dac.c index 4b4afef18a26ab7d9a446882f5a7c4f12107d31b..5df50bdcf5fabc3ba528cc609039c7e5cb162d78 100644 --- a/src/security/security_dac.c +++ b/src/security/security_dac.c @@ -232,9 +232,11 @@ virSecurityDACTransactionRun(pid_t pid ATTRIBUTE_UNUSED, return -1; for (i = 0; i < list->nItems; i++) { - const char *p = list->items[i]->path; + virSecurityDACChownItemPtr item = list->items[i]; + const char *p = item->path; - VIR_APPEND_ELEMENT_COPY_INPLACE(paths, npaths, p); + if (item->remember) + VIR_APPEND_ELEMENT_COPY_INPLACE(paths, npaths, p); } if (!(state = virSecurityManagerMetadataLock(list->manager, paths, npaths))) diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c index e879fa39ab7458a84c740d7225d01141f5181b47..e3be724a2bb1b65bcd3520291e5e10043ef3a605 100644 --- a/src/security/security_selinux.c +++ b/src/security/security_selinux.c @@ -266,9 +266,11 @@ virSecuritySELinuxTransactionRun(pid_t pid ATTRIBUTE_UNUSED, return -1; for (i = 0; i < list->nItems; i++) { - const char *p = list->items[i]->path; + virSecuritySELinuxContextItemPtr item = list->items[i]; + const char *p = item->path; - VIR_APPEND_ELEMENT_COPY_INPLACE(paths, npaths, p); + if (item->remember) + VIR_APPEND_ELEMENT_COPY_INPLACE(paths, npaths, p); } if (!(state = virSecurityManagerMetadataLock(list->manager, paths, npaths)))