diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-07-02 14:24:44 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-07-02 14:24:44 +0800 |
commit | be528d7b61ddfd166a8abc3f6c705fd090eaa55c (patch) | |
tree | 9c0157e5342be5200059c834adec720be4e970b1 /security | |
parent | b7a7056561d60008d47279f36c002304adf2c6d6 (diff) | |
download | marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar.gz marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar.bz2 marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar.lz marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar.xz marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.tar.zst marcuscom-ports-be528d7b61ddfd166a8abc3f6c705fd090eaa55c.zip |
Fix some potential NULL pointer dereferences, and add support for finding
the process name by looking in /proc. This is a bit of a hack in that it
requires /proc to be mounted. Hopefully, though, if it's not, g-k-m and g-k
itself will no longer crash.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@4143 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'security')
6 files changed, 78 insertions, 18 deletions
diff --git a/security/gnome-keyring-manager/Makefile b/security/gnome-keyring-manager/Makefile index 790877539..0ebc04553 100644 --- a/security/gnome-keyring-manager/Makefile +++ b/security/gnome-keyring-manager/Makefile @@ -3,12 +3,12 @@ # Whom: Adam Weinberger <adamw@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports/security/gnomekeyringmanager/Makefile,v 1.10 2005/06/29 01:10:22 marcus Exp $ +# $MCom: ports/security/gnomekeyringmanager/Makefile,v 1.11 2005/07/01 18:05:28 marcus Exp $ # PORTNAME= gnomekeyringmanager PORTVERSION= 2.11.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gnome-keyring-manager/2.11 diff --git a/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-acl-display.c b/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-acl-display.c new file mode 100644 index 000000000..3df8081ba --- /dev/null +++ b/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-acl-display.c @@ -0,0 +1,19 @@ +--- src/gnome-keyring-manager-acl-display.c.orig Sat Jul 2 02:12:49 2005 ++++ src/gnome-keyring-manager-acl-display.c Sat Jul 2 02:16:31 2005 +@@ -393,13 +393,15 @@ gkm_acl_display_set_acl (GKMAclDisplay * + GnomeKeyringAccessType at; + GtkTreeIter iter; + char *name, *path; ++ const char *app_path; + + ac = (GnomeKeyringAccessControl*) tmp->data; + name = gnome_keyring_item_ac_get_display_name (ac); + path = gnome_keyring_item_ac_get_path_name (ac); ++ app_path = gkm_get_application_path (); + + /* We don't want to include ourself in the list. */ +- if (g_str_equal (path, gkm_get_application_path ())) ++ if (app_path && g_str_equal (path, app_path)) + { + self->priv->gkm_ac = gnome_keyring_access_control_copy (ac); + } diff --git a/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-util.c b/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-util.c index 572e57e9f..c05c11acf 100644 --- a/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-util.c +++ b/security/gnome-keyring-manager/files/patch-src_gnome-keyring-manager-util.c @@ -1,6 +1,6 @@ ---- src/gnome-keyring-manager-util.c.orig Thu Mar 31 14:27:56 2005 -+++ src/gnome-keyring-manager-util.c Thu Mar 31 14:28:26 2005 -@@ -276,8 +276,6 @@ gkm_about_dialog_new (GtkWindow *transie +--- src/gnome-keyring-manager-util.c.orig Wed May 18 16:41:35 2005 ++++ src/gnome-keyring-manager-util.c Sat Jul 2 02:12:38 2005 +@@ -304,8 +304,6 @@ gkm_about_dialog_new (GtkWindow *transie { GtkWidget *about; @@ -9,12 +9,23 @@ const char *authors[] = { "Fernando Herrera <fherrera@onirica.com>", "Mariano Su\303\241rez-Alvarez <mariano@gnome.org>", -@@ -288,6 +286,8 @@ gkm_about_dialog_new (GtkWindow *transie - const char *documenters[] = { +@@ -317,6 +315,8 @@ gkm_about_dialog_new (GtkWindow *transie NULL }; -+ -+ g_return_val_if_fail (GTK_IS_WINDOW (transient_parent), NULL); ++ g_return_val_if_fail (GTK_IS_WINDOW (transient_parent), NULL); ++ gtk_about_dialog_set_email_hook ((GtkAboutDialogActivateLinkFunc) gkm_about_dialog_activate_links, GINT_TO_POINTER (LINK_TYPE_EMAIL), NULL); + +@@ -354,6 +354,10 @@ gkm_get_application_path (void) + { + path = g_file_read_link ("/proc/self/exe", NULL); + } ++#elif defined(__FreeBSD__) ++ { ++ path = g_file_read_link ("/proc/curproc/file", NULL); ++ } + #endif + } + diff --git a/security/gnomekeyringmanager/Makefile b/security/gnomekeyringmanager/Makefile index 790877539..0ebc04553 100644 --- a/security/gnomekeyringmanager/Makefile +++ b/security/gnomekeyringmanager/Makefile @@ -3,12 +3,12 @@ # Whom: Adam Weinberger <adamw@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports/security/gnomekeyringmanager/Makefile,v 1.10 2005/06/29 01:10:22 marcus Exp $ +# $MCom: ports/security/gnomekeyringmanager/Makefile,v 1.11 2005/07/01 18:05:28 marcus Exp $ # PORTNAME= gnomekeyringmanager PORTVERSION= 2.11.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/gnome-keyring-manager/2.11 diff --git a/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-acl-display.c b/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-acl-display.c new file mode 100644 index 000000000..3df8081ba --- /dev/null +++ b/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-acl-display.c @@ -0,0 +1,19 @@ +--- src/gnome-keyring-manager-acl-display.c.orig Sat Jul 2 02:12:49 2005 ++++ src/gnome-keyring-manager-acl-display.c Sat Jul 2 02:16:31 2005 +@@ -393,13 +393,15 @@ gkm_acl_display_set_acl (GKMAclDisplay * + GnomeKeyringAccessType at; + GtkTreeIter iter; + char *name, *path; ++ const char *app_path; + + ac = (GnomeKeyringAccessControl*) tmp->data; + name = gnome_keyring_item_ac_get_display_name (ac); + path = gnome_keyring_item_ac_get_path_name (ac); ++ app_path = gkm_get_application_path (); + + /* We don't want to include ourself in the list. */ +- if (g_str_equal (path, gkm_get_application_path ())) ++ if (app_path && g_str_equal (path, app_path)) + { + self->priv->gkm_ac = gnome_keyring_access_control_copy (ac); + } diff --git a/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-util.c b/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-util.c index 572e57e9f..c05c11acf 100644 --- a/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-util.c +++ b/security/gnomekeyringmanager/files/patch-src_gnome-keyring-manager-util.c @@ -1,6 +1,6 @@ ---- src/gnome-keyring-manager-util.c.orig Thu Mar 31 14:27:56 2005 -+++ src/gnome-keyring-manager-util.c Thu Mar 31 14:28:26 2005 -@@ -276,8 +276,6 @@ gkm_about_dialog_new (GtkWindow *transie +--- src/gnome-keyring-manager-util.c.orig Wed May 18 16:41:35 2005 ++++ src/gnome-keyring-manager-util.c Sat Jul 2 02:12:38 2005 +@@ -304,8 +304,6 @@ gkm_about_dialog_new (GtkWindow *transie { GtkWidget *about; @@ -9,12 +9,23 @@ const char *authors[] = { "Fernando Herrera <fherrera@onirica.com>", "Mariano Su\303\241rez-Alvarez <mariano@gnome.org>", -@@ -288,6 +286,8 @@ gkm_about_dialog_new (GtkWindow *transie - const char *documenters[] = { +@@ -317,6 +315,8 @@ gkm_about_dialog_new (GtkWindow *transie NULL }; -+ -+ g_return_val_if_fail (GTK_IS_WINDOW (transient_parent), NULL); ++ g_return_val_if_fail (GTK_IS_WINDOW (transient_parent), NULL); ++ gtk_about_dialog_set_email_hook ((GtkAboutDialogActivateLinkFunc) gkm_about_dialog_activate_links, GINT_TO_POINTER (LINK_TYPE_EMAIL), NULL); + +@@ -354,6 +354,10 @@ gkm_get_application_path (void) + { + path = g_file_read_link ("/proc/self/exe", NULL); + } ++#elif defined(__FreeBSD__) ++ { ++ path = g_file_read_link ("/proc/curproc/file", NULL); ++ } + #endif + } + |