diff options
| author | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-11-06 15:11:55 +0100 |
|---|---|---|
| committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2009-11-06 15:11:55 +0100 |
| commit | 3a62ede25114452938acb8e1a67006633b139efc (patch) | |
| tree | d3a291e5dac5d7ddf14bae4a097ff5b298b71aa5 /src/Applet/Applet.cpp | |
| parent | fc571a9ac7aaa8802d3e8aacf9aefac12ca3c81c (diff) | |
| parent | 80975b02ec1a2e8dfc6f7ce21e47cf71b16b5a6e (diff) | |
| download | abrt-3a62ede25114452938acb8e1a67006633b139efc.tar.gz abrt-3a62ede25114452938acb8e1a67006633b139efc.tar.xz abrt-3a62ede25114452938acb8e1a67006633b139efc.zip | |
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
Diffstat (limited to 'src/Applet/Applet.cpp')
| -rw-r--r-- | src/Applet/Applet.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/Applet/Applet.cpp b/src/Applet/Applet.cpp index 327e24f5..2eed556a 100644 --- a/src/Applet/Applet.cpp +++ b/src/Applet/Applet.cpp @@ -49,13 +49,12 @@ static void Crash(DBusMessage* signal) dbus_message_iter_init(signal, &in_iter); const char* progname; r = load_val(&in_iter, progname); - if (r != ABRT_DBUS_MORE_FIELDS) + /* Optional 2nd param: uid */ + const char* uid_str = NULL; + if (r == ABRT_DBUS_MORE_FIELDS) { - error_msg("dbus signal %s: parameter type mismatch", __func__); - return; + r = load_val(&in_iter, uid_str); } - const char* uid_str; - r = load_val(&in_iter, uid_str); if (r != ABRT_DBUS_LAST_FIELD) { error_msg("dbus signal %s: parameter type mismatch", __func__); @@ -66,13 +65,17 @@ static void Crash(DBusMessage* signal) // return; // uid_t uid_num = atol(uid_str); - char* endptr; - int64_t uid_num = strtoll(uid_str,&endptr, 10); - - if ((uid_num != getuid()) && (uid_num != -1)) + if (uid_str != NULL) { - return; + char *end; + errno = 0; + unsigned long uid_num = strtoul(uid_str, &end, 10); + if (errno || *end != '\0' || uid_num != getuid()) + { + return; + } } + const char* message = _("A crash in package %s has been detected"); //applet->AddEvent(uid, progname); applet->SetIconTooltip(message, progname); |
