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>
This commit is contained in:
parent
6056f12df7
commit
1915459263
|
@ -0,0 +1,36 @@
|
||||||
|
In networks that don't have a DHCP server configured, ipv4 address
|
||||||
|
allocation fails and the ipv4 structure doesn't get populated. When
|
||||||
|
the GUI is trying to read the ipv4_config.method field to see whether
|
||||||
|
it contains "dhcp" string, a segmentation fault is generated.
|
||||||
|
|
||||||
|
Ethernet manual configuration behavior remains unchanged after this fix.
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
|
||||||
|
Index: git/properties/ethernet.c
|
||||||
|
===================================================================
|
||||||
|
--- git.orig/properties/ethernet.c
|
||||||
|
+++ git/properties/ethernet.c
|
||||||
|
@@ -194,7 +194,7 @@ void add_ethernet_service(GtkWidget *mai
|
||||||
|
|
||||||
|
data->button = button;
|
||||||
|
|
||||||
|
- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
|
||||||
|
+ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
|
||||||
|
update_ethernet_ipv4(data, CONNMAN_POLICY_DHCP);
|
||||||
|
else
|
||||||
|
update_ethernet_ipv4(data, CONNMAN_POLICY_MANUAL);
|
||||||
|
Index: git/properties/wifi.c
|
||||||
|
===================================================================
|
||||||
|
--- git.orig/properties/wifi.c
|
||||||
|
+++ git/properties/wifi.c
|
||||||
|
@@ -230,7 +230,7 @@ static void wifi_ipconfig(GtkWidget *tab
|
||||||
|
|
||||||
|
data->ipv4_config = ipv4_config;
|
||||||
|
|
||||||
|
- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
|
||||||
|
+ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
|
||||||
|
update_wifi_ipv4(data, CONNMAN_POLICY_DHCP);
|
||||||
|
else
|
||||||
|
update_wifi_ipv4(data, CONNMAN_POLICY_MANUAL);
|
|
@ -12,6 +12,7 @@ DEPENDS = "gtk+ dbus-glib intltool-native"
|
||||||
SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
|
SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
|
||||||
SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \
|
SRC_URI = "git://github.com/connectivity/connman-gnome.git;protocol=git \
|
||||||
file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
|
file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
|
||||||
|
file://null_check_for_ipv4_config.patch \
|
||||||
file://images/* \
|
file://images/* \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue