main: use strdup instead of free_and_strdup to initialize default unit (#4335)
Previously we've used free_and_strdup() to fill arg_default_unit with unit name, If we didn't pass default unit name through a kernel command line or command line arguments. But we can use just strdup() instead of free_and_strdup() for this, because we will start fill arg_default_unit only if it wasn't set before.
This commit is contained in:
+3
-3
@@ -1586,9 +1586,9 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
/* Initialize default unit */
|
||||
if (!arg_default_unit) {
|
||||
r = free_and_strdup(&arg_default_unit, SPECIAL_DEFAULT_TARGET);
|
||||
if (r < 0) {
|
||||
log_emergency_errno(r, "Failed to set default unit %s: %m", SPECIAL_DEFAULT_TARGET);
|
||||
arg_default_unit = strdup(SPECIAL_DEFAULT_TARGET);
|
||||
if (!arg_default_unit) {
|
||||
r = log_oom();
|
||||
error_message = "Failed to set default unit";
|
||||
goto finish;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user