diff options
Diffstat (limited to 'src/login/logind-dbus.c')
-rw-r--r-- | src/login/logind-dbus.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index ad44ca290e..3873bf3e96 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2396,9 +2396,13 @@ static int method_set_wall_message( if (r == 0) return 1; /* Will call us back */ - r = free_and_strdup(&m->wall_message, empty_to_null(wall_message)); - if (r < 0) - return log_oom(); + if (isempty(wall_message)) + m->wall_message = mfree(m->wall_message); + else { + r = free_and_strdup(&m->wall_message, wall_message); + if (r < 0) + return log_oom(); + } m->enable_wall_messages = enable_wall_messages; |