[PATCH] agent: Check for pointer validity before cancelling agent request

2014-10-22 Thread Hannu Mallat
In the case where agent disappears from D-Bus while there are pending
requests, request->driver may become null. As it's useless to send a
Cancel to a nonexistent agent, not to mention accessing null pointer
causes a crash, check for the pointer value before creating a D-Bus
message.
---
 src/agent.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/agent.c b/src/agent.c
index a340026..f67b30f 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -166,6 +166,9 @@ static int send_cancel_request(struct connman_agent *agent,
 {
DBusMessage *message;
 
+   if (!request->driver)
+   return 0;
+
DBG("send cancel req to %s %s", agent->owner, agent->path);
 
message = dbus_message_new_method_call(agent->owner,
-- 
1.9.1

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] agent: Check for pointer validity before cancelling agent request

2014-10-22 Thread Patrik Flykt

Hi,

On Wed, 2014-10-22 at 11:09 +0300, Hannu Mallat wrote:
> In the case where agent disappears from D-Bus while there are pending
> requests, request->driver may become null. As it's useless to send a
> Cancel to a nonexistent agent, not to mention accessing null pointer
> causes a crash, check for the pointer value before creating a D-Bus
> message.
> ---
>  src/agent.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/src/agent.c b/src/agent.c
> index a340026..f67b30f 100644
> --- a/src/agent.c
> +++ b/src/agent.c
> @@ -166,6 +166,9 @@ static int send_cancel_request(struct connman_agent 
> *agent,
>  {
>   DBusMessage *message;
>  
> + if (!request->driver)
> + return 0;
> +

Mmmm, but the above can only happen in Jolla's version of ConnMan, there
is/was commit 81195279ed07af08caf8c44fc390840b54b19ce2 in the Mer/Jolla
tree that caused ->driver to become NULL in some special circumstances.

Cheers,

Patrik

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman


Re: [PATCH] agent: Check for pointer validity before cancelling agent request

2014-10-22 Thread Hannu Mallat

On 22.10.2014 13:04, Patrik Flykt wrote:


Mmmm, but the above can only happen in Jolla's version of ConnMan, there
is/was commit 81195279ed07af08caf8c44fc390840b54b19ce2 in the Mer/Jolla
tree that caused ->driver to become NULL in some special circumstances.


Ah, you're correct. Forgot about that when checking if I had something I 
hadn't upstreamed yet.


BR,
H.

___
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman