Re: [RFC PATCH v2 02/27] libselinux: misc label cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 2, 2023 at 1:13 PM James Carter <jwcart2@xxxxxxxxx> wrote:
>
> On Mon, Aug 14, 2023 at 9:41 AM Christian Göttsche
> <cgzones@xxxxxxxxxxxxxx> wrote:
> >
> > Drop unused parameter from selabel_is_digest_set().  It is only written
> > to but writes to the function local copy of the pointer are void.
> >
> > Constify read-only handle parameter of selabel_validate() and
> > compat_validate().
> >
> > Constify read-only from-address parameter of digest_add_specfile().
> >
> > Constify read-only function pointer array initfuncs.
> >
> > Merge malloc(3) and memset(3) calls into calloc(3).
> >
> > Simplify boolean assignment.
> >
> > Drop duplicate include file.
> >
> > Drop return at end of void function.
> >
> > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx>
>
> Acked-by: James Carter <jwcart2@xxxxxxxxx>
>
Merged.
Thanks,
Jim

> > ---
> >  libselinux/src/label.c          | 17 +++++++----------
> >  libselinux/src/label_internal.h |  6 +++---
> >  libselinux/src/label_support.c  |  4 +---
> >  libselinux/src/matchpathcon.c   |  2 +-
> >  4 files changed, 12 insertions(+), 17 deletions(-)
> >
> > diff --git a/libselinux/src/label.c b/libselinux/src/label.c
> > index 586e5e5e..a2efa99c 100644
> > --- a/libselinux/src/label.c
> > +++ b/libselinux/src/label.c
> > @@ -45,7 +45,7 @@ typedef int (*selabel_initfunc)(struct selabel_handle *rec,
> >                                 const struct selinux_opt *opts,
> >                                 unsigned nopts);
> >
> > -static selabel_initfunc initfuncs[] = {
> > +static const selabel_initfunc initfuncs[] = {
> >         &selabel_file_init,
> >         CONFIG_MEDIA_BACKEND(selabel_media_init),
> >         CONFIG_X_BACKEND(selabel_x_init),
> > @@ -56,8 +56,7 @@ static selabel_initfunc initfuncs[] = {
> >
> >  static inline struct selabel_digest *selabel_is_digest_set
> >                                     (const struct selinux_opt *opts,
> > -                                   unsigned n,
> > -                                   struct selabel_digest *entry)
> > +                                   unsigned n)
> >  {
> >         struct selabel_digest *digest = NULL;
> >
> > @@ -77,8 +76,7 @@ static inline struct selabel_digest *selabel_is_digest_set
> >                         if (!digest->specfile_list)
> >                                 goto err;
> >
> > -                       entry = digest;
> > -                       return entry;
> > +                       return digest;
> >                 }
> >         }
> >         return NULL;
> > @@ -121,7 +119,7 @@ static inline int selabel_is_validate_set(const struct selinux_opt *opts,
> >         return 0;
> >  }
> >
> > -int selabel_validate(struct selabel_handle *rec,
> > +int selabel_validate(const struct selabel_handle *rec,
> >                      struct selabel_lookup_rec *contexts)
> >  {
> >         int rc = 0;
> > @@ -133,7 +131,7 @@ int selabel_validate(struct selabel_handle *rec,
> >         if (rc < 0)
> >                 goto out;
> >
> > -       contexts->validated = 1;
> > +       contexts->validated = true;
> >  out:
> >         return rc;
> >  }
> > @@ -215,15 +213,14 @@ struct selabel_handle *selabel_open(unsigned int backend,
> >                 goto out;
> >         }
> >
> > -       rec = (struct selabel_handle *)malloc(sizeof(*rec));
> > +       rec = (struct selabel_handle *)calloc(1, sizeof(*rec));
> >         if (!rec)
> >                 goto out;
> >
> > -       memset(rec, 0, sizeof(*rec));
> >         rec->backend = backend;
> >         rec->validating = selabel_is_validate_set(opts, nopts);
> >
> > -       rec->digest = selabel_is_digest_set(opts, nopts, rec->digest);
> > +       rec->digest = selabel_is_digest_set(opts, nopts);
> >
> >         if ((*initfuncs[backend])(rec, opts, nopts)) {
> >                 if (rec->digest)
> > diff --git a/libselinux/src/label_internal.h b/libselinux/src/label_internal.h
> > index 782c6aa8..273a630a 100644
> > --- a/libselinux/src/label_internal.h
> > +++ b/libselinux/src/label_internal.h
> > @@ -63,7 +63,7 @@ struct selabel_digest {
> >  };
> >
> >  extern int digest_add_specfile(struct selabel_digest *digest, FILE *fp,
> > -                                                   char *from_addr,
> > +                                                   const char *from_addr,
> >                                                     size_t buf_len,
> >                                                     const char *path);
> >  extern void digest_gen_hash(struct selabel_digest *digest);
> > @@ -118,7 +118,7 @@ struct selabel_handle {
> >   * Validation function
> >   */
> >  extern int
> > -selabel_validate(struct selabel_handle *rec,
> > +selabel_validate(const struct selabel_handle *rec,
> >                  struct selabel_lookup_rec *contexts) ;
> >
> >  /*
> > @@ -136,7 +136,7 @@ extern void __attribute__ ((format(printf, 1, 2)))
> >         } while (0)
> >
> >  extern int
> > -compat_validate(struct selabel_handle *rec,
> > +compat_validate(const struct selabel_handle *rec,
> >                 struct selabel_lookup_rec *contexts,
> >                 const char *path, unsigned lineno) ;
> >
> > diff --git a/libselinux/src/label_support.c b/libselinux/src/label_support.c
> > index 54fd49a5..df474cba 100644
> > --- a/libselinux/src/label_support.c
> > +++ b/libselinux/src/label_support.c
> > @@ -10,7 +10,6 @@
> >  #include <string.h>
> >  #include <stdio.h>
> >  #include <errno.h>
> > -#include <errno.h>
> >  #include "label_internal.h"
> >
> >  /*
> > @@ -138,7 +137,6 @@ void  digest_gen_hash(struct selabel_digest *digest)
> >         Sha1Finalise(&context, (SHA1_HASH *)digest->digest);
> >         free(digest->hashbuf);
> >         digest->hashbuf = NULL;
> > -       return;
> >  }
> >
> >  /**
> > @@ -154,7 +152,7 @@ void  digest_gen_hash(struct selabel_digest *digest)
> >   * Return %0 on success, -%1 with @errno set on failure.
> >   */
> >  int  digest_add_specfile(struct selabel_digest *digest, FILE *fp,
> > -                                   char *from_addr, size_t buf_len,
> > +                                   const char *from_addr, size_t buf_len,
> >                                     const char *path)
> >  {
> >         unsigned char *tmp_buf;
> > diff --git a/libselinux/src/matchpathcon.c b/libselinux/src/matchpathcon.c
> > index bf2da083..9a9bafb0 100644
> > --- a/libselinux/src/matchpathcon.c
> > +++ b/libselinux/src/matchpathcon.c
> > @@ -35,7 +35,7 @@ void set_matchpathcon_printf(void (*f) (const char *fmt, ...))
> >         myprintf_compat = 1;
> >  }
> >
> > -int compat_validate(struct selabel_handle *rec,
> > +int compat_validate(const struct selabel_handle *rec,
> >                     struct selabel_lookup_rec *contexts,
> >                     const char *path, unsigned lineno)
> >  {
> > --
> > 2.40.1
> >




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux