On Mon, Dec 2, 2024 at 4:17 PM James Carter <jwcart2@xxxxxxxxx> wrote: > > On Fri, Nov 29, 2024 at 6:40 AM Christian Göttsche > <cgoettsche@xxxxxxxxxxxxx> wrote: > > > > From: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> > > > > Use struct initialization with designators to skip unnecessary memset(3) > > calls. Since libsepol is not a security boundary uninitialized padding > > is not a concern. > > > > Also drop the dead assignment of a region to be free'd in the next line. > > > > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> > > Acked-by: James Carter <jwcart2@xxxxxxxxx> > Merged. Thanks, Jim > > --- > > libsepol/src/hashtab.c | 23 ++++++++++++----------- > > 1 file changed, 12 insertions(+), 11 deletions(-) > > > > diff --git a/libsepol/src/hashtab.c b/libsepol/src/hashtab.c > > index 399582b1..4c658588 100644 > > --- a/libsepol/src/hashtab.c > > +++ b/libsepol/src/hashtab.c > > @@ -48,12 +48,14 @@ hashtab_t hashtab_create(unsigned int (*hash_value) (hashtab_t h, > > if (p == NULL) > > return p; > > > > - memset(p, 0, sizeof(hashtab_val_t)); > > - p->size = size; > > - p->nel = 0; > > - p->hash_value = hash_value; > > - p->keycmp = keycmp; > > - p->htable = (hashtab_ptr_t *) calloc(size, sizeof(hashtab_ptr_t)); > > + *p = (hashtab_val_t) { > > + .size = size, > > + .nel = 0, > > + .hash_value = hash_value, > > + .keycmp = keycmp, > > + .htable = (hashtab_ptr_t *) calloc(size, sizeof(hashtab_ptr_t)), > > + }; > > + > > if (p->htable == NULL) { > > free(p); > > return NULL; > > @@ -127,9 +129,10 @@ int hashtab_insert(hashtab_t h, hashtab_key_t key, hashtab_datum_t datum) > > newnode = (hashtab_ptr_t) malloc(sizeof(hashtab_node_t)); > > if (newnode == NULL) > > return SEPOL_ENOMEM; > > - memset(newnode, 0, sizeof(struct hashtab_node)); > > - newnode->key = key; > > - newnode->datum = datum; > > + *newnode = (hashtab_node_t) { > > + .key = key, > > + .datum = datum, > > + }; > > if (prev) { > > newnode->next = prev->next; > > prev->next = newnode; > > @@ -223,8 +226,6 @@ void hashtab_destroy(hashtab_t h) > > } > > > > free(h->htable); > > - h->htable = NULL; > > - > > free(h); > > } > > > > -- > > 2.45.2 > > > >