diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_restorecon.c index bc6ed935a..ab1c52165 100644 --- a/libselinux/src/selinux_restorecon.c +++ b/libselinux/src/selinux_restorecon.c @@ -1367,6 +1367,10 @@ void selinux_restorecon_set_sehandle(struct selabel_handle *hndl) unsigned char *fc_digest; size_t num_specfiles, fc_digest_len; + if (fc_sehandle) { + selabel_close(fc_sehandle); + } + fc_sehandle = hndl; if (!fc_sehandle) return;