On Fri, Jan 21, 2022 at 2:44 PM Christian Göttsche <cgzones@xxxxxxxxxxxxxx> wrote: > > The default log handler sepol_msg_default_handler() appends a newline > and the majority of log messages do not contain a trailing newline in > the format string. > > Fixes: 5c178f9f55 ("libsepol: use logging framework in conditional.c") > Fixes: 852f14d43d ("libsepol: use logging framework in ebitmap.c") > > Signed-off-by: Christian Göttsche <cgzones@xxxxxxxxxxxxxx> Acked-by: James Carter <jwcart2@xxxxxxxxx> > --- > libsepol/src/avtab.c | 2 +- > libsepol/src/conditional.c | 14 +++++++------- > libsepol/src/context_record.c | 2 +- > libsepol/src/ebitmap.c | 20 ++++++++++---------- > libsepol/src/expand.c | 8 ++++---- > libsepol/src/hierarchy.c | 2 +- > libsepol/src/link.c | 16 ++++++++-------- > libsepol/src/services.c | 2 +- > 8 files changed, 33 insertions(+), 33 deletions(-) > > diff --git a/libsepol/src/avtab.c b/libsepol/src/avtab.c > index 9dc5d9f1..7920b60a 100644 > --- a/libsepol/src/avtab.c > +++ b/libsepol/src/avtab.c > @@ -548,7 +548,7 @@ int avtab_read_item(struct policy_file *fp, uint32_t vers, avtab_t * a, > if ((vers < POLICYDB_VERSION_XPERMS_IOCTL) && > (key.specified & AVTAB_XPERMS)) { > ERR(fp->handle, "policy version %u does not support extended " > - "permissions rules and one was specified\n", vers); > + "permissions rules and one was specified", vers); > return -1; > } else if (key.specified & AVTAB_XPERMS) { > rc = next_entry(&buf8, fp, sizeof(uint8_t)); > diff --git a/libsepol/src/conditional.c b/libsepol/src/conditional.c > index a3125fdd..f78b38a2 100644 > --- a/libsepol/src/conditional.c > +++ b/libsepol/src/conditional.c > @@ -315,7 +315,7 @@ static int evaluate_cond_node(policydb_t * p, cond_node_t * node) > if (new_state != node->cur_state) { > node->cur_state = new_state; > if (new_state == -1) > - WARN(NULL, "expression result was undefined - disabling all rules.\n"); > + WARN(NULL, "expression result was undefined - disabling all rules."); > /* turn the rules on or off */ > for (cur = node->true_list; cur != NULL; cur = cur->next) { > if (new_state <= 0) { > @@ -368,7 +368,7 @@ int cond_normalize_expr(policydb_t * p, cond_node_t * cn) > if (ne) { > ne->next = NULL; > } else { /* ne should never be NULL */ > - ERR(NULL, "Found expr with no bools and only a ! - this should never happen.\n"); > + ERR(NULL, "Found expr with no bools and only a ! - this should never happen."); > return -1; > } > /* swap the true and false lists */ > @@ -421,7 +421,7 @@ int cond_normalize_expr(policydb_t * p, cond_node_t * cn) > k = cond_evaluate_expr(p, cn->expr); > if (k == -1) { > ERR(NULL, "While testing expression, expression result " > - "was undefined - this should never happen.\n"); > + "was undefined - this should never happen."); > return -1; > } > /* set the bit if expression evaluates true */ > @@ -660,13 +660,13 @@ static int cond_insertf(avtab_t * a > } > } > if (!found) { > - ERR(NULL, "security: conflicting type rules.\n"); > + ERR(NULL, "security: conflicting type rules."); > return -1; > } > } > } else { > if (avtab_search(&p->te_cond_avtab, k)) { > - ERR(NULL, "security: conflicting type rules when adding type rule for true.\n"); > + ERR(NULL, "security: conflicting type rules when adding type rule for true."); > return -1; > } > } > @@ -733,12 +733,12 @@ static int cond_read_av_list(policydb_t * p, void *fp, > static int expr_isvalid(policydb_t * p, cond_expr_t * expr) > { > if (expr->expr_type <= 0 || expr->expr_type > COND_LAST) { > - WARN(NULL, "security: conditional expressions uses unknown operator.\n"); > + WARN(NULL, "security: conditional expressions uses unknown operator."); > return 0; > } > > if (expr->bool > p->p_bools.nprim) { > - WARN(NULL, "security: conditional expressions uses unknown bool.\n"); > + WARN(NULL, "security: conditional expressions uses unknown bool."); > return 0; > } > return 1; > diff --git a/libsepol/src/context_record.c b/libsepol/src/context_record.c > index 435f7880..2bda121b 100644 > --- a/libsepol/src/context_record.c > +++ b/libsepol/src/context_record.c > @@ -127,7 +127,7 @@ int sepol_context_create(sepol_handle_t * handle, sepol_context_t ** con_ptr) > (sepol_context_t *) malloc(sizeof(sepol_context_t)); > > if (!con) { > - ERR(handle, "out of memory, could not " "create context\n"); > + ERR(handle, "out of memory, could not create context"); > return STATUS_ERR; > } > > diff --git a/libsepol/src/ebitmap.c b/libsepol/src/ebitmap.c > index fa728558..bd98c0f8 100644 > --- a/libsepol/src/ebitmap.c > +++ b/libsepol/src/ebitmap.c > @@ -406,7 +406,7 @@ int ebitmap_read(ebitmap_t * e, void *fp) > count = le32_to_cpu(buf[2]); > > if (mapsize != MAPSIZE) { > - ERR(NULL, "security: ebitmap: map size %d does not match my size %zu (high bit was %d)\n", > + ERR(NULL, "security: ebitmap: map size %d does not match my size %zu (high bit was %d)", > mapsize, MAPSIZE, e->highbit); > goto bad; > } > @@ -415,7 +415,7 @@ int ebitmap_read(ebitmap_t * e, void *fp) > goto ok; > } > if (e->highbit & (MAPSIZE - 1)) { > - ERR(NULL, "security: ebitmap: high bit (%d) is not a multiple of the map size (%zu)\n", > + ERR(NULL, "security: ebitmap: high bit (%d) is not a multiple of the map size (%zu)", > e->highbit, MAPSIZE); > goto bad; > } > @@ -427,12 +427,12 @@ int ebitmap_read(ebitmap_t * e, void *fp) > for (i = 0; i < count; i++) { > rc = next_entry(buf, fp, sizeof(uint32_t)); > if (rc < 0) { > - ERR(NULL, "security: ebitmap: truncated map\n"); > + ERR(NULL, "security: ebitmap: truncated map"); > goto bad; > } > n = (ebitmap_node_t *) malloc(sizeof(ebitmap_node_t)); > if (!n) { > - ERR(NULL, "security: ebitmap: out of memory\n"); > + ERR(NULL, "security: ebitmap: out of memory"); > rc = -ENOMEM; > goto bad; > } > @@ -441,30 +441,30 @@ int ebitmap_read(ebitmap_t * e, void *fp) > n->startbit = le32_to_cpu(buf[0]); > > if (n->startbit & (MAPSIZE - 1)) { > - ERR(NULL, "security: ebitmap start bit (%d) is not a multiple of the map size (%zu)\n", > + ERR(NULL, "security: ebitmap start bit (%d) is not a multiple of the map size (%zu)", > n->startbit, MAPSIZE); > goto bad_free; > } > if (n->startbit > (e->highbit - MAPSIZE)) { > - ERR(NULL, "security: ebitmap start bit (%d) is beyond the end of the bitmap (%zu)\n", > + ERR(NULL, "security: ebitmap start bit (%d) is beyond the end of the bitmap (%zu)", > n->startbit, (e->highbit - MAPSIZE)); > goto bad_free; > } > rc = next_entry(&map, fp, sizeof(uint64_t)); > if (rc < 0) { > - ERR(NULL, "security: ebitmap: truncated map\n"); > + ERR(NULL, "security: ebitmap: truncated map"); > goto bad_free; > } > n->map = le64_to_cpu(map); > > if (!n->map) { > - ERR(NULL, "security: ebitmap: null map in ebitmap (startbit %d)\n", > + ERR(NULL, "security: ebitmap: null map in ebitmap (startbit %d)", > n->startbit); > goto bad_free; > } > if (l) { > if (n->startbit <= l->startbit) { > - ERR(NULL, "security: ebitmap: start bit %d comes after start bit %d\n", > + ERR(NULL, "security: ebitmap: start bit %d comes after start bit %d", > n->startbit, l->startbit); > goto bad_free; > } > @@ -475,7 +475,7 @@ int ebitmap_read(ebitmap_t * e, void *fp) > l = n; > } > if (count && l->startbit + MAPSIZE != e->highbit) { > - ERR(NULL, "security: ebitmap: high bit %u has not the expected value %zu\n", > + ERR(NULL, "security: ebitmap: high bit %u has not the expected value %zu", > e->highbit, l->startbit + MAPSIZE); > goto bad; > } > diff --git a/libsepol/src/expand.c b/libsepol/src/expand.c > index 898e6b87..6d4384ae 100644 > --- a/libsepol/src/expand.c > +++ b/libsepol/src/expand.c > @@ -166,7 +166,7 @@ static int type_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > > if (new_type->flags & TYPE_FLAGS_PERMISSIVE) > if (ebitmap_set_bit(&state->out->permissive_map, new_type->s.value, 1)) { > - ERR(state->handle, "Out of memory!\n"); > + ERR(state->handle, "Out of memory!"); > return -1; > } > > @@ -937,7 +937,7 @@ int mls_semantic_level_expand(mls_semantic_level_t * sl, mls_level_t * l, > levdatum = (level_datum_t *) hashtab_search(p->p_levels.table, > p->p_sens_val_to_name[l->sens - 1]); > if (!levdatum) { > - ERR(h, "%s: Impossible situation found, nothing in p_levels.table.\n", > + ERR(h, "%s: Impossible situation found, nothing in p_levels.table.", > __func__); > errno = ENOENT; > return -1; > @@ -1694,7 +1694,7 @@ static int expand_terule_helper(sepol_handle_t * handle, > uint32_t oldtype = 0; > > if (!(specified & (AVRULE_TRANSITION|AVRULE_MEMBER|AVRULE_CHANGE))) { > - ERR(handle, "Invalid specification: %"PRIu32"\n", specified); > + ERR(handle, "Invalid specification: %"PRIu32, specified); > return EXPAND_RULE_ERROR; > } > > @@ -1873,7 +1873,7 @@ static int expand_avrule_helper(sepol_handle_t * handle, > return EXPAND_RULE_ERROR; > break; > default: > - ERR(handle, "Unknown specification: %"PRIu32"\n", specified); > + ERR(handle, "Unknown specification: %"PRIu32, specified); > return EXPAND_RULE_ERROR; > } > > diff --git a/libsepol/src/hierarchy.c b/libsepol/src/hierarchy.c > index 8919daa7..350443a8 100644 > --- a/libsepol/src/hierarchy.c > +++ b/libsepol/src/hierarchy.c > @@ -237,7 +237,7 @@ oom: > ERR(handle, "Insufficient memory"); > > exit: > - ERR(handle,"Failed to expand parent rules\n"); > + ERR(handle,"Failed to expand parent rules"); > avtab_destroy(global_avtab); > bounds_destroy_cond_info(*cond_info); > *cond_info = NULL; > diff --git a/libsepol/src/link.c b/libsepol/src/link.c > index dfcb0673..21a5a935 100644 > --- a/libsepol/src/link.c > +++ b/libsepol/src/link.c > @@ -165,7 +165,7 @@ static int permission_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > (hashtab_datum_t) new_perm); > if (ret) { > ERR(state->handle, > - "could not insert permission into class\n"); > + "could not insert permission into class"); > goto err; > } > new_perm->s.value = dest_class->permissions.nprim + 1; > @@ -289,7 +289,7 @@ static int class_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > new_class = > (class_datum_t *) calloc(1, sizeof(class_datum_t)); > if (new_class == NULL) { > - ERR(state->handle, "Memory error\n"); > + ERR(state->handle, "Memory error"); > ret = SEPOL_ERR; > goto err; > } > @@ -300,7 +300,7 @@ static int class_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > } > new_id = strdup(id); > if (new_id == NULL) { > - ERR(state->handle, "Memory error\n"); > + ERR(state->handle, "Memory error"); > symtab_destroy(&new_class->permissions); > ret = SEPOL_ERR; > goto err; > @@ -696,7 +696,7 @@ static int sens_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > return SEPOL_ENOTSUP; > } else { > ERR(state->handle, > - "%s: has an unknown scope: %d\n", > + "%s: has an unknown scope: %d", > state->cur_mod_name, scope->scope); > return SEPOL_ENOTSUP; > } > @@ -738,7 +738,7 @@ static int cat_copy_callback(hashtab_key_t key, hashtab_datum_t datum, > } else { > /* unknown scope? malformed policy? */ > ERR(state->handle, > - "%s: has an unknown scope: %d\n", > + "%s: has an unknown scope: %d", > state->cur_mod_name, scope->scope); > return SEPOL_ENOTSUP; > } > @@ -1781,7 +1781,7 @@ static int copy_avrule_block(link_state_t * state, policy_module_t * module, > if (module->policy->name != NULL) { > new_decl->module_name = strdup(module->policy->name); > if (new_decl->module_name == NULL) { > - ERR(state->handle, "Out of memory\n"); > + ERR(state->handle, "Out of memory"); > avrule_decl_destroy(new_decl); > ret = -1; > goto cleanup; > @@ -2208,7 +2208,7 @@ static int enable_avrules(link_state_t * state, policydb_t * pol) > if (state->verbose) { > const char *mod_name = decl->module_name ? > decl->module_name : "BASE"; > - INFO(state->handle, "check module %s decl %d\n", > + INFO(state->handle, "check module %s decl %d", > mod_name, decl->decl_id); > } > rc = is_decl_requires_met(state, decl, &req); > @@ -2554,7 +2554,7 @@ int link_modules(sepol_handle_t * handle, > > if (mods[i]->policyvers > b->policyvers) { > WARN(state.handle, > - "Upgrading policy version from %u to %u\n", b->policyvers, mods[i]->policyvers); > + "Upgrading policy version from %u to %u", b->policyvers, mods[i]->policyvers); > b->policyvers = mods[i]->policyvers; > } > > diff --git a/libsepol/src/services.c b/libsepol/src/services.c > index 0f36ac53..7becfd1b 100644 > --- a/libsepol/src/services.c > +++ b/libsepol/src/services.c > @@ -1553,7 +1553,7 @@ static int validate_class(hashtab_key_t key, hashtab_datum_t datum, void *p) > cladatum2->comdatum->permissions.table)) { > ERR(NULL, > " in the access vector definition " > - "for class %s\n", key); > + "for class %s", key); > return -1; > } > } > -- > 2.34.1 >