mirror of
https://github.com/systemd/systemd.git
synced 2025-03-13 00:58:27 +03:00
sysctl-util: modernize sysctl_read() a bit
Let's add similar path validation to sysctl_read() as we already have in sysctl_write(). Let's also drop the trailing newline from the returned string, like sysctl_read_ip_property() already does it. (I checked all users of this, they don't care)
This commit is contained in:
parent
6aebfec3a5
commit
f9755203b9
@ -98,12 +98,23 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
|
||||
|
||||
int sysctl_read(const char *property, char **ret) {
|
||||
char *p;
|
||||
int r;
|
||||
|
||||
assert(property);
|
||||
assert(ret);
|
||||
|
||||
p = strjoina("/proc/sys/", property);
|
||||
return read_full_virtual_file(p, ret, NULL);
|
||||
|
||||
path_simplify(p);
|
||||
if (!path_is_normalized(p)) /* Filter out attempts to write to /proc/sys/../../…, just in case */
|
||||
return -EINVAL;
|
||||
|
||||
r = read_full_virtual_file(p, ret, NULL);
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (ret)
|
||||
delete_trailing_chars(*ret, NEWLINE);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int sysctl_read_ip_property(int af, const char *ifname, const char *property, char **ret) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user