mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-06 13:17:44 +03:00
core: tighten validation checks in SwitchRoot() dbus call
This commit is contained in:
parent
c2c38276cb
commit
5f4c9c27d8
@ -1680,9 +1680,9 @@ static int method_switch_root(sd_bus_message *message, void *userdata, sd_bus_er
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (isempty(root))
|
||||
if (!path_is_valid(root))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"New root directory may not be the empty string.");
|
||||
"New root directory must be a valid path.");
|
||||
if (!path_is_absolute(root))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"New root path '%s' is not absolute.", root);
|
||||
@ -1704,6 +1704,10 @@ static int method_switch_root(sd_bus_message *message, void *userdata, sd_bus_er
|
||||
} else {
|
||||
_cleanup_free_ char *chased = NULL;
|
||||
|
||||
if (!path_is_valid(init))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Path to init binary '%s' is not a valid path.", init);
|
||||
|
||||
if (!path_is_absolute(init))
|
||||
return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
|
||||
"Path to init binary '%s' not absolute.", init);
|
||||
|
Loading…
Reference in New Issue
Block a user