From: Jukka Rissanen Date: Wed, 14 Mar 2012 15:28:54 +0000 (+0200) Subject: connection: Avoid stale memory access X-Git-Tag: 2.0_alpha~518 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=1a406c25cfc5a08905dbadc7913d4b3998fede7c;p=framework%2Fconnectivity%2Fconnman.git connection: Avoid stale memory access Get the active gateway pointer only after the gateway hash has been manipulated by add_gateway(). It is possible that we are accessing stale pointer otherwise. --- diff --git a/src/connection.c b/src/connection.c index 545b59f..e4e21d6 100644 --- a/src/connection.c +++ b/src/connection.c @@ -567,11 +567,12 @@ int __connman_connection_gateway_add(struct connman_service *service, DBG("service %p index %d gateway %s vpn ip %s type %d", service, index, gateway, peer, type); - active_gateway = find_active_gateway(); new_gateway = add_gateway(service, index, gateway, type); if (new_gateway == NULL) return -EINVAL; + active_gateway = find_active_gateway(); + DBG("active %p index %d new %p", active_gateway, active_gateway ? active_gateway->index : -1, new_gateway);