aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Certner <olce@FreeBSD.org>2026-05-20 10:33:41 +0000
committerOlivier Certner <olce@FreeBSD.org>2026-05-29 15:23:04 +0000
commitce59a4181593f59028d3a26f2b63dcf2c8041d79 (patch)
treed2fde07f671d867d8a0b6263848e25da068ff8bb
parent11b567e94ad2a1b4baf768d77c6f1fb2018cfe83 (diff)
MAC/do: clone_rules(): Readability improvements, constification
Constify in order to let the compiler check that source and destination arguments are passed in the proper order in the different calls. No functional change (intended). Reviewed by: bapt MFC after: 1 month Sponsored by: The FreeBSD Foundation Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/38
-rw-r--r--sys/security/mac_do/mac_do.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/sys/security/mac_do/mac_do.c b/sys/security/mac_do/mac_do.c
index fa20beadbaad..b24daaf093c0 100644
--- a/sys/security/mac_do/mac_do.c
+++ b/sys/security/mac_do/mac_do.c
@@ -1370,27 +1370,29 @@ set_default_conf(struct prison *const pr)
static void
clone_rules(struct rules *const dst, const struct rules *const src)
{
- struct rule *src_rule, *dst_rule;
+ const struct rule *src_rule;
strlcpy(dst->string, src->string, sizeof(dst->string));
STAILQ_FOREACH(src_rule, &src->head, r_entries) {
- dst_rule = malloc(sizeof(*dst_rule), M_MAC_DO, M_WAITOK |
- M_ZERO);
+ struct rule *const dst_rule = malloc(sizeof(*dst_rule),
+ M_MAC_DO, M_WAITOK);
bcopy(src_rule, dst_rule, sizeof(*dst_rule));
if (src_rule->uids_nb > 0) {
- dst_rule->uids = malloc(sizeof(*dst_rule->uids) *
- src_rule->uids_nb, M_MAC_DO, M_WAITOK);
- bcopy(src_rule->uids, dst_rule->uids,
- sizeof(*dst_rule->uids) * src_rule->uids_nb);
+ const size_t uids_size = sizeof(*dst_rule->uids) *
+ src_rule->uids_nb;
+
+ dst_rule->uids = malloc(uids_size, M_MAC_DO, M_WAITOK);
+ bcopy(src_rule->uids, dst_rule->uids, uids_size);
}
if (src_rule->gids_nb > 0) {
- dst_rule->gids = malloc(sizeof(*dst_rule->gids) *
- src_rule->gids_nb, M_MAC_DO, M_WAITOK);
- bcopy(src_rule->gids, dst_rule->gids,
- sizeof(*dst_rule->gids) * src_rule->gids_nb);
+ const size_t gids_size = sizeof(*dst_rule->gids) *
+ src_rule->gids_nb;
+
+ dst_rule->gids = malloc(gids_size, M_MAC_DO, M_WAITOK);
+ bcopy(src_rule->gids, dst_rule->gids, gids_size);
}
STAILQ_INSERT_TAIL(&dst->head, dst_rule, r_entries);