On Thu, May 12, 2022 at 5:54 AM Christian Göttsche <cgzones@xxxxxxxxxxxxxx> wrote: > > selabel_lookup_raw(3) can fail for other reasons than no corresponding > context found, e.g. ENOMEM or EINVAL for invalid key or type. > > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> Acked-by: James Carter <jwcart2@xxxxxxxxx> > --- > libselinux/src/selinux_restorecon.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_restorecon.c > index c158ead8..42ef30cb 100644 > --- a/libselinux/src/selinux_restorecon.c > +++ b/libselinux/src/selinux_restorecon.c > @@ -651,12 +651,16 @@ static int restorecon_sb(const char *pathname, const struct stat *sb, > sb->st_mode); > > if (rc < 0) { > - if (errno == ENOENT && flags->warnonnomatch && first) > - selinux_log(SELINUX_INFO, > - "Warning no default label for %s\n", > - lookup_path); > + if (errno == ENOENT) { > + if (flags->warnonnomatch && first) > + selinux_log(SELINUX_INFO, > + "Warning no default label for %s\n", > + lookup_path); > > - return 0; /* no match, but not an error */ > + return 0; /* no match, but not an error */ > + } > + > + return -1; > } > > if (flags->progress) { > -- > 2.36.1 >