From f1598dff7e951f0dbfb68d9c45bc15fe6d2e821e Mon Sep 17 00:00:00 2001 From: Dan Walsh Date: Wed, 9 Oct 2013 15:25:58 -0400 Subject: [PATCH] Support udev-197 and higher The errno value was not set, causing wrong return notifications and failing to have udev label things correctly. See https://bugzilla.redhat.com/show_bug.cgi?id=909826#c24 and see https://bugs.gentoo.org/show_bug.cgi?id=462626 Signed-off-by: Sven Vermeulen --- libselinux/src/label_file.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c index e1c09bab..c424a21a 100644 --- a/libselinux/src/label_file.c +++ b/libselinux/src/label_file.c @@ -649,6 +649,8 @@ static struct selabel_lookup_rec *lookup(struct selabel_handle *rec, break; } else if (rc == PCRE_ERROR_NOMATCH) continue; + + errno = ENOENT; /* else it's an error */ goto finish; } @@ -660,6 +662,7 @@ static struct selabel_lookup_rec *lookup(struct selabel_handle *rec, goto finish; } + errno = 0; ret = &spec_arr[i].lr; finish: