ad2208ec22
When starting restorecond without any option the following redundant console log is outputed: /dev/log 100.0% /var/volatile/run/syslogd.pid 100.0% ... This is caused by two global variables of same name r_opts. When executes r_opts = opts in restore_init(), it originally intends to assign the address of struct r_opts in "restorecond.c" to the pointer *r_opts in "restore.c". However, the address is assigned to the struct r_opts and covers the value of low eight bytes in it. That causes unexpected value of member varibale 'nochange' and 'verbose' in struct r_opts, thus affects value of 'restorecon_flags' and executes unexpected operations when restorecon the files such as the redundant console log output or file label nochange. Cause restorecond/restore.c is copied from policycoreutils/setfiles, which share the same pattern. It also has potential risk to generate same problems, So fix it in case. Signed-off-by: Baichuan Kong <kongbaichuan@huawei.com> |
||
---|---|---|
.. | ||
ru | ||
.gitignore | ||
Makefile | ||
restore.c | ||
restore.h | ||
restorecon.8 | ||
restorecon_xattr.8 | ||
restorecon_xattr.c | ||
setfiles.8 | ||
setfiles.c |