Hi,

Looking at connman git, the respective functions in ipconfig.c have changed or 
been removed and the issue is no longer there. A closer look reveals that the 
changes seem to have appeared to connman version 0.71. 

But the problem is still present in 0.69.6 that is being used in MeeGo. So how 
should we proceed with this?

Regards, Jari

P.S. Regarding the patch itself below, it may well be that we would need g_free 
calls before the g_strdup calls (in order to not leak memory).

> -----Original Message-----
> From: ext Xu, Martin [mailto:[email protected]]
> Sent: 08. kesäkuuta 2011 00:28
> To: [email protected]; [email protected]
> Cc: Palojarvi Jari (Nokia-SD/Tampere); Ortiz, Samuel
> Subject: RE: [meego-commits] 20103: Changes to
> MeeGo:1.2:oss:Testing/connman
> 
> We can't accepted the commit.
> Because it totally brakes the ConnMan release process.
> 1. You need to submit patch to ConnMan upstream to review 2. if it accepted
> by ConnMan upstream 3. and the related bug has been approved as 1.2
> release block 4. then we can merge the patch back to ConnMan stable
> release and push to MeeGo. No patch is accepted at ConnMan RPM package.
> 
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of japaloja
> > Sent: Tuesday, June 07, 2011 12:55 AM
> > To: [email protected]
> > Cc: japaloja
> > Subject: [meego-commits] 20103: Changes to
> > MeeGo:1.2:oss:Testing/connman
> >
> > Hi,
> > I have made the following changes to connman in project
> > MeeGo:1.2:oss:Testing. Please review and accept ASAP.
> >
> > Thank You,
> > japaloja
> >
> > [This message was auto-generated]
> >
> > ---
> >
> > Request #20103:
> >
> >   submit:
> > home:japaloja:branches:MeeGo:1.2:oss:Testing/connman(r2)(cleanup) ->
> > MeeGo:1.2:oss:Testing/connman
> >
> >
> > Message:
> >     Second try. A patch to fix a double-free error that caused
> > connmand to crash when saving WiFi settings. A part of the fix for
> BMC#14483.
> >
> > State:   new          2011-06-07T00:54:49 japaloja
> > Comment: None
> >
> >
> >
> > changes files:
> > --------------
> > --- connman.changes
> > +++ connman.changes
> > @@ -0,0 +1,5 @@
> > +* Fri Jun 3 2011 Jari Palojärvi <[email protected]> - 0.69.6
> > +- Added a patch to fix a double-free error that caused connmand
> > +  crashes when saving WiFi settings to ConnMan. This is a must-have
> > +  fix for enabling other fixes (elsewhere) related to BMC #14483.
> > +
> >
> > new:
> > ----
> >   connman-0.69.6-double-free-error.patch
> >
> > spec files:
> > -----------
> > --- connman.spec
> > +++ connman.spec
> > @@ -1,6 +1,6 @@
> >  #
> >  # Do NOT Edit the Auto-generated Part!
> > -# Generated by: spectacle version 0.21
> > +# Generated by: spectacle version 0.22
> >  #
> >  # >> macros
> >  # << macros
> > @@ -14,6 +14,7 @@
> >  URL:        http://connman.net/
> >  Source0:
> > http://www.kernel.org/pub/linux/network/connman/connman-
> %{version}.tar
> > .b
> > z2
> >  Source100:  connman.yaml
> > +Patch0:     connman-0.69.6-double-free-error.patch
> >  Requires:   dbus
> >  Requires:   wpa_supplicant >= 0.7.1
> >  Requires:   bluez
> > @@ -70,6 +71,8 @@
> >  %prep
> >  %setup -q -n %{name}-%{version}
> >
> > +# connman-0.69.6-double-free-error.patch
> > +%patch0 -p1
> >  # >> setup
> >  # << setup
> >
> >
> > other changes:
> > --------------
> >
> > ++++++ connman-0.69.6-double-free-error.patch (new)
> > --- connman-0.69.6-double-free-error.patch
> > +++ connman-0.69.6-double-free-error.patch
> > +diff --git a/src/ipconfig.c b/src/ipconfig.c index 82d2e7a..2336082
> > +100644
> > +--- a/src/ipconfig.c
> > ++++ b/src/ipconfig.c
> > +@@ -1146,7 +1146,7 @@ void
> > __connman_ipconfig_set_element_ipv6_gateway(
> > +                           struct connman_element *element)  {
> > +   if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV6)
> > +-          element->ipv6.gateway = ipconfig->address->gateway;
> > ++          element->ipv6.gateway = g_strdup(ipconfig->address-
> >gateway);
> > + }
> > +
> > + /*
> > +@@ -1166,9 +1166,9 @@ int __connman_ipconfig_set_gateway(struct
> > connman_ipconfig *ipconfig,
> > +   connection->index = ipconfig->index;
> > +
> > +   if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4)
> > +-          connection->ipv4.gateway = ipconfig->address->gateway;
> > ++          connection->ipv4.gateway = g_strdup(ipconfig->address-
> >gateway);
> > +   else if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV6)
> > +-          connection->ipv6.gateway = ipconfig->address->gateway;
> > ++          connection->ipv6.gateway = g_strdup(ipconfig->address-
> >gateway);
> > +
> > +   if (connman_element_register(connection, parent) < 0)
> > +           connman_element_unref(connection);
> >
> > ++++++ connman.yaml
> > --- connman.yaml
> > +++ connman.yaml
> > @@ -10,7 +10,8 @@
> >  Description: |
> >      Connection Manager provides a daemon for managing Internet
> > connections
> >      within embedded devices running the Linux operating system.
> > -
> > +Patches:
> > +    - connman-0.69.6-double-free-error.patch
> >  Requires:
> >      - dbus
> >      - wpa_supplicant >= 0.7.1
> >
> > _______________________________________________
> > MeeGo-commits mailing list
> > [email protected]
> > http://lists.meego.com/listinfo/meego-commits
_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to