diff --git a/tools/dbus-send.c b/tools/dbus-send.c index 7750ac61..ff58286e 100644 --- a/tools/dbus-send.c +++ b/tools/dbus-send.c @@ -284,7 +284,8 @@ main (int argc, char *argv[]) int i; DBusBusType type = DBUS_BUS_SESSION; const char *dest = NULL; - const char *name = NULL; + char *name = NULL; + const char *name2 = NULL; const char *path = NULL; int message_type = DBUS_MESSAGE_TYPE_SIGNAL; const char *type_str = NULL; @@ -302,7 +303,7 @@ main (int argc, char *argv[]) print_reply_literal = FALSE; reply_timeout = -1; - for (i = 1; i < argc && name == NULL; i++) + for (i = 1; i < argc && name2 == NULL; i++) { char *arg = argv[i]; @@ -397,12 +398,14 @@ main (int argc, char *argv[]) usage (1); else if (path == NULL) path = arg; - else /* name == NULL guaranteed by the 'while' loop */ - name = arg; + else /* name2 == NULL guaranteed by the 'while' loop */ + name2 = arg; } - if (name == NULL) + if (name2 == NULL) usage (1); + else + name = strdup(name2); if (session_or_system && (address != NULL))