On Fri, Sep 21, 2018 at 5:12 PM Nick Kralevich via Selinux <selinux@xxxxxxxxxxxxx> wrote:
Fix a situation where the secilc command line tool could return success
even though the compilation failed.
$ secilc /dev/null -o /dev/null -f /dev/null
Failure reading file: /dev/null
$ echo $?
0
Fix a few other minor oversights while I'm here.
I'd prefer this split into at least 2 patches on the off chance we
need to revert the actual code changes we don't lose the spelling
and whitespace fixes. Otherwise LGTM.
Signed-off-by: Nick Kralevich <nnk@xxxxxxxxxx>
---
libsepol/include/sepol/errcodes.h | 2 +-
secilc/secilc.c | 8 ++++++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libsepol/include/sepol/errcodes.h b/libsepol/include/sepol/errcodes.h
index 0136564a..6e9ff316 100644
--- a/libsepol/include/sepol/errcodes.h
+++ b/libsepol/include/sepol/errcodes.h
@@ -12,7 +12,7 @@ extern "C" {
#define SEPOL_OK 0
/* These first error codes are defined for compatibility with
- * previous version of libsepol. In the future, custome error
+ * previous version of libsepol. In the future, custom error
* codes that don't map to system error codes should be defined
* outside of the range of system error codes.
*/
diff --git a/secilc/secilc.c b/secilc/secilc.c
index 0be6975b..8578cc26 100644
--- a/secilc/secilc.c
+++ b/secilc/secilc.c
@@ -257,14 +257,16 @@ int main(int argc, char *argv[])
rc = stat(argv[i], &filedata);
if (rc == -1) {
fprintf(stderr, "Could not stat file: %s\n", argv[i]);
+ rc = SEPOL_ERR;
goto exit;
}
- file_size = filedata.st_size;
+ file_size = filedata.st_size;
buffer = malloc(file_size);
rc = fread(buffer, file_size, 1, file);
if (rc != 1) {
fprintf(stderr, "Failure reading file: %s\n", argv[i]);
+ rc = SEPOL_ERR;
goto exit;
}
fclose(file);
@@ -345,11 +347,13 @@ int main(int argc, char *argv[])
if (file_contexts == NULL) {
fprintf(stderr, "Failed to open file_contexts file\n");
+ rc = SEPOL_ERR;
goto exit;
}
-
+
if (fwrite(fc_buf, sizeof(char), fc_size, file_contexts) != fc_size) {
fprintf(stderr, "Failed to write file_contexts file\n");
+ rc = SEPOL_ERR;
goto exit;
}
--
2.19.0.444.g18242da7ef-goog
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.
_______________________________________________ Selinux mailing list Selinux@xxxxxxxxxxxxx To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx. To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.