chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
systemd-analyze: pipe through SED_PROCESS
[elogind.git]
/
src
/
modules-load
/
modules-load.c
diff --git
a/src/modules-load/modules-load.c
b/src/modules-load/modules-load.c
index d6bc16d34086b140b5ea7c98d68b439bd188fd3d..f6279e1975267b50645f72514cfcab5ada0b18c4 100644
(file)
--- a/
src/modules-load/modules-load.c
+++ b/
src/modules-load/modules-load.c
@@
-49,17
+49,13
@@
static int add_modules(const char *p) {
char **t, **k;
k = strv_split(p, ",");
char **t, **k;
k = strv_split(p, ",");
- if (!k) {
- log_error("Out of memory");
- return -ENOMEM;
- }
+ if (!k)
+ return log_oom();
t = strv_merge(arg_proc_cmdline_modules, k);
strv_free(k);
t = strv_merge(arg_proc_cmdline_modules, k);
strv_free(k);
- if (!t) {
- log_error("Out of memory");
- return -ENOMEM;
- }
+ if (!t)
+ return log_oom();
strv_free(arg_proc_cmdline_modules);
arg_proc_cmdline_modules = t;
strv_free(arg_proc_cmdline_modules);
arg_proc_cmdline_modules = t;
@@
-68,7
+64,8
@@
static int add_modules(const char *p) {
}
static int parse_proc_cmdline(void) {
}
static int parse_proc_cmdline(void) {
- char *line, *w, *state;
+ char _cleanup_free_ *line = NULL;
+ char *w, *state;
int r;
size_t l;
int r;
size_t l;
@@
-82,38
+79,30
@@
static int parse_proc_cmdline(void) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
}
FOREACH_WORD_QUOTED(w, l, line, state) {
- char *word;
+ char
_cleanup_free_
*word;
word = strndup(w, l);
word = strndup(w, l);
- if (!word) {
- r = -ENOMEM;
- goto finish;
- }
+ if (!word)
+ return log_oom();
if (startswith(word, "modules-load=")) {
r = add_modules(word + 13);
if (r < 0)
if (startswith(word, "modules-load=")) {
r = add_modules(word + 13);
if (r < 0)
-
goto finish
;
+
return r
;
} else if (startswith(word, "rd.modules-load=")) {
if (in_initrd()) {
r = add_modules(word + 16);
if (r < 0)
} else if (startswith(word, "rd.modules-load=")) {
if (in_initrd()) {
r = add_modules(word + 16);
if (r < 0)
-
goto finish
;
+
return r
;
}
}
}
}
-
- free(word);
}
}
- r = 0;
-
-finish:
- free(line);
- return r;
+ return 0;
}
static int load_module(struct kmod_ctx *ctx, const char *m) {
}
static int load_module(struct kmod_ctx *ctx, const char *m) {
@@
-175,7
+164,7
@@
static int load_module(struct kmod_ctx *ctx, const char *m) {
int main(int argc, char *argv[]) {
int r = EXIT_FAILURE, k;
int main(int argc, char *argv[]) {
int r = EXIT_FAILURE, k;
- char **files, **fn, **i;
+ char **files
= NULL
, **fn, **i;
struct kmod_ctx *ctx;
if (argc > 1) {
struct kmod_ctx *ctx;
if (argc > 1) {