From cde0f2824904a0c2da9c6a8a9943c3467e6a7fd7 Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Mon, 30 Oct 2023 20:48:52 +1100 Subject: [PATCH] try to use memset correctly --- src/lib66/exec/ssexec_tree_admin.c | 2 +- src/lib66/exec/ssexec_tree_signal.c | 2 +- src/lib66/module/regex_replace.c | 6 +++--- src/lib66/parse/parse_compute_list.c | 2 +- .../parse/parse_rename_interdependences.c | 6 +++--- src/lib66/service/service_graph_build.c | 6 +++--- src/lib66/svc/svc_launch.c | 20 +++++++++---------- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/lib66/exec/ssexec_tree_admin.c b/src/lib66/exec/ssexec_tree_admin.c index 834894c6..3538c5a1 100644 --- a/src/lib66/exec/ssexec_tree_admin.c +++ b/src/lib66/exec/ssexec_tree_admin.c @@ -120,7 +120,7 @@ tree_what_t what_init(void) tree_what_t what = TREE_WHAT_ZERO ; - memset(what.gr, 0, 6) ; + memset(what.gr, 0, 6 * sizeof(char)); ; memset(what.auids, 0, 256 * sizeof(uid_t)); memset(what.duids, 0, 256 * sizeof(uid_t)) ; diff --git a/src/lib66/exec/ssexec_tree_signal.c b/src/lib66/exec/ssexec_tree_signal.c index e798344d..056dee0e 100644 --- a/src/lib66/exec/ssexec_tree_signal.c +++ b/src/lib66/exec/ssexec_tree_signal.c @@ -626,7 +626,7 @@ static int async_deps(pidtree_t *apidt, unsigned int i, unsigned int what, ssexe if (x.revents & IOPAUSE_READ) { - memset(buf, 0, sizeof(buf)) ; + memset(buf, 0, ((UINT_FMT*2)*SS_MAX_SERVICE + 1) * sizeof(char)) ; r = read(apidt[i].pipe[0], buf, sizeof(buf)) ; if (r < 0) log_dieu(LOG_EXIT_SYS, "read from pipe") ; diff --git a/src/lib66/module/regex_replace.c b/src/lib66/module/regex_replace.c index d6ce2762..0d6698cb 100644 --- a/src/lib66/module/regex_replace.c +++ b/src/lib66/module/regex_replace.c @@ -78,9 +78,9 @@ void regex_replace(stralloc *list, resolve_service_t *res) if ((line[0] != ':') || (get_sep_before(line + 1, ':', '=') < 0)) log_die(LOG_EXIT_SYS, "bad format in line: ", line, " of key @infiles field") ; - memset(filename, 0, SS_MAX_SERVICE_NAME + 1) ; - memset(replace, 0, linelen + 1) ; - memset(regex, 0, linelen + 1) ; + memset(filename, 0, SS_MAX_SERVICE_NAME + 1 * sizeof(char)); ; + memset(replace, 0, linelen + 1 * sizeof(char)) ; + memset(regex, 0, linelen + 1 * sizeof(char)) ; fpos = regex_get_file_name(filename, line) ; if (fpos < 3) all = 1 ; diff --git a/src/lib66/parse/parse_compute_list.c b/src/lib66/parse/parse_compute_list.c index 1bd1ab20..9ec0bd53 100644 --- a/src/lib66/parse/parse_compute_list.c +++ b/src/lib66/parse/parse_compute_list.c @@ -43,7 +43,7 @@ int parse_compute_list(resolve_wrapper_t_ref wres, stralloc *sa, uint32_t *res, char f[len + nelement + 2] ; - memset(f, 0, len) ; + memset(f, 0, len * sizeof(size_t)) ; for (; pos < sa->len ; pos += strlen(sa->s + pos) + 1) { diff --git a/src/lib66/parse/parse_rename_interdependences.c b/src/lib66/parse/parse_rename_interdependences.c index 96eb3430..cdb44091 100644 --- a/src/lib66/parse/parse_rename_interdependences.c +++ b/src/lib66/parse/parse_rename_interdependences.c @@ -79,7 +79,7 @@ static void parse_prefix_name(unsigned int idx, resolve_service_t *ares, unsigne size_t len = (mlen + 1 + SS_MAX_TREENAME + 2) * ares[idx].dependencies.ndepends ; char n[len] ; - memset(n, 0, len) ; + memset(n, 0, len * sizeof(size_t)); ; parse_prefix(n, &stk, ares, areslen, prefix) ; @@ -98,7 +98,7 @@ static void parse_prefix_name(unsigned int idx, resolve_service_t *ares, unsigne size_t len = (mlen + 1 + SS_MAX_TREENAME + 2) * ares[idx].dependencies.nrequiredby ; char n[len] ; - memset(n, 0, len) ; + memset(n, 0, len * sizeof(size_t)) ; parse_prefix(n, &stk, ares, areslen, prefix) ; @@ -177,4 +177,4 @@ void parse_rename_interdependences(resolve_service_t *res, char const *prefix, r stralloc_free(&sa) ; free(wres) ; free(awres) ; -} \ No newline at end of file +} diff --git a/src/lib66/service/service_graph_build.c b/src/lib66/service/service_graph_build.c index 83ec07d0..97eaf328 100644 --- a/src/lib66/service/service_graph_build.c +++ b/src/lib66/service/service_graph_build.c @@ -30,7 +30,7 @@ static void issupervised(char *store, resolve_service_t *ares, unsigned int ares ss_state_t ste = STATE_ZERO ; stralloc sa = STRALLOC_ZERO ; - memset(store, 0, strlen(str)) ; + memset(store, 0, strlen(str) * sizeof(char)) ; if (!sastr_clean_string(&sa, str)) log_dieu(LOG_EXIT_SYS, "clean string") ; @@ -93,7 +93,7 @@ void service_graph_build(graph_t *g, resolve_service_t *ares, unsigned int aresl if (pres->dependencies.ndepends && FLAGS_ISSET(flag, STATE_FLAGS_WANTUP)) { - char store[strlen(pres->sa.s + pres->dependencies.depends) + 1] ; + char store[strlen(pres->sa.s + pres->dependencies.depends) + 1 * pres->dependencies.ndepends] ; if (FLAGS_ISSET(flag, STATE_FLAGS_ISSUPERVISED)) { @@ -112,7 +112,7 @@ void service_graph_build(graph_t *g, resolve_service_t *ares, unsigned int aresl if (pres->dependencies.nrequiredby && FLAGS_ISSET(flag, STATE_FLAGS_WANTDOWN)) { - char store[strlen(pres->sa.s + pres->dependencies.requiredby) + 1] ; + char store[strlen(pres->sa.s + pres->dependencies.requiredby) + 1 * pres->dependencies.nrequiredby] ; if (FLAGS_ISSET(flag, STATE_FLAGS_ISSUPERVISED)) { diff --git a/src/lib66/svc/svc_launch.c b/src/lib66/svc/svc_launch.c index 6233ca89..56ee0812 100644 --- a/src/lib66/svc/svc_launch.c +++ b/src/lib66/svc/svc_launch.c @@ -14,7 +14,7 @@ #include <string.h> #include <stdint.h> -#include <unistd.h> // access +#include <unistd.h> // access, unlink #include <errno.h> #include <signal.h> #include <sys/types.h> @@ -281,7 +281,7 @@ static int async_deps(pidservice_t *apids, unsigned int i, unsigned int what, ss if (x.revents & IOPAUSE_READ) { - memset(buf, 0, sizeof(buf)) ; + memset(buf, 0, ((UINT_FMT*2)*SS_MAX_SERVICE + 1) * sizeof(char)) ; r = read(apids[i].pipe[0], buf, sizeof(buf)) ; if (r < 0) log_dieu(LOG_EXIT_SYS, "read from pipe") ; @@ -544,10 +544,10 @@ static int doit(pidservice_t *sv, unsigned int what, tain *deadline) if (data[1] == 'r') { /** oneshot service are not handled automatically by - * s6-supervise. Signal is restart, so let it down first + * s6-supervise. Signal is restart, so let it down first * and force to bring it up again .*/ - - log_trace("sending ", "up to: ", scandir) ; + + log_trace("sending up to: ", scandir) ; char const *newargv[11] ; unsigned int m = 0 ; @@ -569,13 +569,13 @@ static int doit(pidservice_t *sv, unsigned int what, tain *deadline) log_warnusys_return(LOG_EXIT_ZERO, "wait for s6-sudo") ; if (WIFSIGNALED(wstat) && WEXITSTATUS(wstat)) - return WIFSIGNALED(wstat) ? WTERMSIG(wstat) : WEXITSTATUS(wstat) ; - } + return WIFSIGNALED(wstat) ? WTERMSIG(wstat) : WEXITSTATUS(wstat) ; + } + + return WEXITSTATUS(wstat) ; - return WEXITSTATUS(wstat) ; - } else { - + return WIFSIGNALED(wstat) ? WTERMSIG(wstat) : WEXITSTATUS(wstat) ; } -- GitLab