Re: [PATCH v2] obexd: Fix null pointer dereference.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Matias,

On Thu, Jun 22, 2017 at 1:50 PM, Matias Karhumaa
<matias.karhumaa@xxxxxxxxx> wrote:
> By sending OPP Put request before CONNECT we were able to cause
> SIGSEGV in obexd. Crash was caused by null pointer dereference.
> Crash was found using Synopsys Defensics Obex Server test suite.
>
> This was fixed by calling os->service->connect if CONNECT was not
> done before.
> ---
>  obexd/src/obex.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/obexd/src/obex.c b/obexd/src/obex.c
> index 788bffc..be79a77 100644
> --- a/obexd/src/obex.c
> +++ b/obexd/src/obex.c
> @@ -864,6 +864,17 @@ static void cmd_put(GObex *obex, GObexPacket *req, gpointer user_data)
>                 return;
>         }
>
> +       /* OPP session don't require CONNECT, in which case just call connect
> +        * callback to register the transfer.
> +        */
> +       if (!os->service_data && os->service->service == OBEX_OPP) {
> +               os->service_data = os->service->connect(os, &err);
> +               if (err < 0) {
> +                       os_set_response(os, err);
> +                       return;
> +               }
> +       }
> +
>         parse_type(os, req);
>
>         if (os->driver == NULL) {
> --
> 2.7.4

Applied, thanks.

-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux