diff options
| author | Mihai Prica <mihai.prica@intel.com> | 2013-08-23 15:57:00 +0300 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-08-26 11:47:19 +0100 |
| commit | 19154592630c87b03a53bd7b95232cc875f67188 (patch) | |
| tree | 3a05d6942709cea0a93bc0ded7239b5597342a79 | |
| parent | 6056f12df72ca2718f3c7447880403c7b66a94b1 (diff) | |
| download | poky-19154592630c87b03a53bd7b95232cc875f67188.tar.gz | |
connman-gnome: fix DHCP segfault
In networks that don't have a DHCP server configured, ipv4 address
allocation fails and the ipv4 structure doesn't get populated.
The patch checks this case also.
[YOCTO #3945]
(From OE-Core rev: 2e3bff33f4ebeb6ac2272ab377d00416ef1af83f)
Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu at intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch | 36 | ||||
| -rw-r--r-- | meta/recipes-connectivity/connman/connman-gnome_0.7.bb | 1 |
2 files changed, 37 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch new file mode 100644 index 0000000000..0421cda0b2 --- /dev/null +++ b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | In networks that don't have a DHCP server configured, ipv4 address | ||
| 2 | allocation fails and the ipv4 structure doesn't get populated. When | ||
| 3 | the GUI is trying to read the ipv4_config.method field to see whether | ||
| 4 | it contains "dhcp" string, a segmentation fault is generated. | ||
| 5 | |||
| 6 | Ethernet manual configuration behavior remains unchanged after this fix. | ||
| 7 | |||
| 8 | Upstream-Status: Pending | ||
| 9 | |||
| 10 | Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com> | ||
| 11 | Index: git/properties/ethernet.c | ||
| 12 | =================================================================== | ||
| 13 | --- git.orig/properties/ethernet.c | ||
| 14 | +++ git/properties/ethernet.c | ||
| 15 | @@ -194,7 +194,7 @@ void add_ethernet_service(GtkWidget *mai | ||
| 16 | |||
| 17 | data->button = button; | ||
| 18 | |||
| 19 | - if (g_str_equal(ipv4_config.method, "dhcp") == TRUE) | ||
| 20 | + if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE) | ||
| 21 | update_ethernet_ipv4(data, CONNMAN_POLICY_DHCP); | ||
| 22 | else | ||
| 23 | update_ethernet_ipv4(data, CONNMAN_POLICY_MANUAL); | ||
| 24 | Index: git/properties/wifi.c | ||
| 25 | =================================================================== | ||
| 26 | --- git.orig/properties/wifi.c | ||
| 27 | +++ git/properties/wifi.c | ||
| 28 | @@ -230,7 +230,7 @@ static void wifi_ipconfig(GtkWidget *tab | ||
| 29 | |||
| 30 | data->ipv4_config = ipv4_config; | ||
| 31 | |||
| 32 | - if (g_str_equal(ipv4_config.method, "dhcp") == TRUE) | ||
| 33 | + if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE) | ||
| 34 | update_wifi_ipv4(data, CONNMAN_POLICY_DHCP); | ||
| 35 | else | ||
| 36 | update_wifi_ipv4(data, CONNMAN_POLICY_MANUAL); | ||
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb index 6299e70fe9..f2ed6721be 100644 --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb | |||
| @@ -12,6 +12,7 @@ DEPENDS = "gtk+ dbus-glib intltool-native" | |||
| 12 | SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143" | 12 | SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143" |
| 13 | SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \ | 13 | SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \ |
| 14 | file://0001-Removed-icon-from-connman-gnome-about-applet.patch \ | 14 | file://0001-Removed-icon-from-connman-gnome-about-applet.patch \ |
| 15 | file://null_check_for_ipv4_config.patch \ | ||
| 15 | file://images/* \ | 16 | file://images/* \ |
| 16 | " | 17 | " |
| 17 | 18 | ||
