On Fri, Sep 21, 2018 at 5:12 PM Nick Kralevich via Selinux < selinux@tycho.nsa.gov> 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 > --- > 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@tycho.nsa.gov > To unsubscribe, send email to Selinux-leave@tycho.nsa.gov. > To get help, send an email containing "help" to > Selinux-request@tycho.nsa.gov. >