summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/shared/sysctl-util.c26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
index 650c9c98b9..55f4e48601 100644
--- a/src/shared/sysctl-util.c
+++ b/src/shared/sysctl-util.c
@@ -58,31 +58,23 @@ char *sysctl_normalize(char *s) {
}
int sysctl_write(const char *property, const char *value) {
- _cleanup_free_ char *p = NULL;
- char *n;
-
- log_debug("Setting '%s' to '%s'", property, value);
+ char *p;
- p = new(char, strlen("/proc/sys/") + strlen(property) + 1);
- if (!p)
- return log_oom();
+ assert(property);
+ assert(value);
- n = stpcpy(p, "/proc/sys/");
- strcpy(n, property);
+ log_debug("Setting '%s' to '%s'", property, value);
+ p = strjoina("/proc/sys/", property);
return write_string_file(p, value);
}
int sysctl_read(const char *property, char **content) {
- _cleanup_free_ char *p = NULL;
- char *n;
-
- p = new(char, strlen("/proc/sys/") + strlen(property) + 1);
- if (!p)
- return log_oom();
+ char *p;
- n = stpcpy(p, "/proc/sys/");
- strcpy(n, property);
+ assert(property);
+ assert(content);
+ p = strjoina("/proc/sys/", property);
return read_full_file(p, content, NULL);
}