soylent r75 - trunk/src
- From: treitter svn gnome org
- To: svn-commits-list gnome org
- Subject: soylent r75 - trunk/src
- Date: Mon, 11 Feb 2008 02:36:55 +0000 (GMT)
Author: treitter
Date: Mon Feb 11 02:36:55 2008
New Revision: 75
URL: http://svn.gnome.org/viewvc/soylent?rev=75&view=rev
Log:
Fix memory access within the signal setup functions recently changed (to prevent potential crashers)
Modified:
trunk/src/soylent-browser.c
Modified: trunk/src/soylent-browser.c
==============================================================================
--- trunk/src/soylent-browser.c (original)
+++ trunk/src/soylent-browser.c Mon Feb 11 02:36:55 2008
@@ -1737,18 +1737,21 @@
widget_name = g_strdup_printf ("entry_person_email_%c", '1' + i);
cb_data = g_new0 (cb_entry_changed_e_contact, 1);
- cb_data->browser = browser;
- cb_data->widget_name = widget_name;
- cb_data->field = g_new0 (EContactField, 1);
- *(cb_data->field) = E_CONTACT_EMAIL_1 + i;
-
if (cb_data)
{
- /* FIXME - use a version which uses g_signal_connect_data so we can
- * eventually free each instance of cb_data */
- connect_retval = widget_signal_connect (wtree, widget_name,
- signal_name, callback,
- cb_data);
+ cb_data->browser = browser;
+ cb_data->widget_name = widget_name;
+ cb_data->field = g_new0 (EContactField, 1);
+ if (cb_data->field)
+ {
+ *(cb_data->field) = E_CONTACT_EMAIL_1 + i;
+
+ /* FIXME - use a version which uses g_signal_connect_data so we
+ * can eventually free each instance of cb_data */
+ connect_retval = widget_signal_connect (wtree, widget_name,
+ signal_name, callback,
+ cb_data);
+ }
}
if (connect_retval)
@@ -1813,18 +1816,21 @@
context_list[i]);
cb_data = g_new0 (cb_entry_changed_e_contact, 1);
- cb_data->browser = browser;
- cb_data->widget_name = widget_name;
- cb_data->field = g_new0 (EContactField, 1);
- *(cb_data->field) = e_contact_fields[i];
-
if (cb_data)
{
- /* FIXME - use a version which uses g_signal_connect_data so we can
- * eventually free each instance of cb_data */
- connect_retval = widget_signal_connect (wtree, widget_name,
- signal_name, callback,
- cb_data);
+ cb_data->browser = browser;
+ cb_data->widget_name = widget_name;
+ cb_data->field = g_new0 (EContactField, 1);
+ if (cb_data->field)
+ {
+ *(cb_data->field) = e_contact_fields[i];
+
+ /* FIXME - use a version which uses g_signal_connect_data so we
+ * can eventually free each instance of cb_data */
+ connect_retval = widget_signal_connect (wtree, widget_name,
+ signal_name, callback,
+ cb_data);
+ }
}
if (connect_retval)
@@ -1888,20 +1894,23 @@
context_list[i], '1' + j);
cb_data = g_new0 (cb_entry_changed_e_contact, 1);
- cb_data->browser = browser;
- cb_data->widget_name = widget_name;
- /* Allocate dynamic memory for this field, since it's assumed to be
- * dynamically-allocated later on */
- cb_data->field = g_new0 (EContactField, 1);
- *(cb_data->field) = CB_DATA_FIELD_IM;
-
if (cb_data)
{
- /* FIXME - use a version which uses g_signal_connect_data so we can
- * eventually free each instance of cb_data */
- connect_retval = widget_signal_connect (wtree, widget_name,
- signal_name, callback,
- cb_data);
+ cb_data->browser = browser;
+ cb_data->widget_name = widget_name;
+ /* Allocate dynamic memory for this field, since it's assumed to be
+ * dynamically-allocated later on */
+ cb_data->field = g_new0 (EContactField, 1);
+ if (cb_data->field)
+ {
+ *(cb_data->field) = CB_DATA_FIELD_IM;
+
+ /* FIXME - use a version which uses g_signal_connect_data so we
+ * can eventually free each instance of cb_data */
+ connect_retval = widget_signal_connect (wtree, widget_name,
+ signal_name, callback,
+ cb_data);
+ }
}
if (connect_retval)
@@ -1966,18 +1975,21 @@
widget_name = g_strdup_printf ("entry_person_web_%s", type_list[i]);
cb_data = g_new0 (cb_entry_changed_e_contact, 1);
- cb_data->browser = browser;
- cb_data->widget_name = widget_name;
- cb_data->field = g_new0 (EContactField, 1);
- *(cb_data->field) = e_contact_fields[i];
-
if (cb_data)
{
- /* FIXME - use a version which uses g_signal_connect_data so we can
- * eventually free each instance of cb_data */
- connect_retval = widget_signal_connect (wtree, widget_name,
- signal_name, callback,
- cb_data);
+ cb_data->browser = browser;
+ cb_data->widget_name = widget_name;
+ cb_data->field = g_new0 (EContactField, 1);
+ if (cb_data->field)
+ {
+ *(cb_data->field) = e_contact_fields[i];
+
+ /* FIXME - use a version which uses g_signal_connect_data so we
+ * can eventually free each instance of cb_data */
+ connect_retval = widget_signal_connect (wtree, widget_name,
+ signal_name, callback,
+ cb_data);
+ }
}
if (connect_retval)
@@ -2044,23 +2056,24 @@
context_list[i], MAIL_FIELD_STRS[j]);
cb_data = g_new0 (cb_entry_changed_e_contact, 1);
- cb_data->browser = browser;
- /* FIXME: don't special-case this name (compared to the other similar
- * signal-handler-setup functions) */
- cb_data->widget_name = g_strdup_printf ("mail_%s",
- context_list[i]);
- /* Allocate dynamic memory for this field, since it's assumed to be
- * dynamically-allocated later on */
- cb_data->field = g_new0 (EContactField, 1);
- *(cb_data->field) = e_contact_fields[j];
-
if (cb_data)
{
- /* FIXME - use a version which uses g_signal_connect_data so we can
- * eventually free each instance of cb_data */
- connect_retval = widget_signal_connect (wtree, widget_name,
- signal_name, callback,
- cb_data);
+ cb_data->browser = browser;
+ /* FIXME: don't special-case this name (compared to the other
+ * similar signal-handler-setup functions) */
+ cb_data->widget_name = g_strdup_printf ("mail_%s",
+ context_list[i]);
+ cb_data->field = g_new0 (EContactField, 1);
+ if (cb_data->field)
+ {
+ *(cb_data->field) = e_contact_fields[i];
+
+ /* FIXME - use a version which uses g_signal_connect_data so we
+ * can eventually free each instance of cb_data */
+ connect_retval = widget_signal_connect (wtree, widget_name,
+ signal_name, callback,
+ cb_data);
+ }
}
if (connect_retval)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]