linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] a2dp: Fix ref counting bug of setup_unref
@ 2020-05-30  8:51 Sonny Sasaka
  2020-06-01 16:29 ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 2+ messages in thread
From: Sonny Sasaka @ 2020-05-30  8:51 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Sonny Sasaka

In a2dp_reconfig, setup is ref-counted by cb_data. However, in the fail
label setup is unref-ed but cb_data is not cleared. This may cause
double unref in the future if cb_data gets executed. Instead, we should
do setup_cb_free to clear cb_data and unref setup.
---
 profiles/audio/a2dp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
index 0d877b132..1b92352cf 100644
--- a/profiles/audio/a2dp.c
+++ b/profiles/audio/a2dp.c
@@ -1719,7 +1719,7 @@ static int a2dp_reconfig(struct a2dp_channel *chan, const char *sender,
 	return 0;
 
 fail:
-	setup_unref(setup);
+	setup_cb_free(cb_data);
 	return err;
 }
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] a2dp: Fix ref counting bug of setup_unref
  2020-05-30  8:51 [PATCH] a2dp: Fix ref counting bug of setup_unref Sonny Sasaka
@ 2020-06-01 16:29 ` Luiz Augusto von Dentz
  0 siblings, 0 replies; 2+ messages in thread
From: Luiz Augusto von Dentz @ 2020-06-01 16:29 UTC (permalink / raw)
  To: Sonny Sasaka; +Cc: linux-bluetooth

Hi Sonny,

On Sat, May 30, 2020 at 1:56 AM Sonny Sasaka <sonnysasaka@chromium.org> wrote:
>
> In a2dp_reconfig, setup is ref-counted by cb_data. However, in the fail
> label setup is unref-ed but cb_data is not cleared. This may cause
> double unref in the future if cb_data gets executed. Instead, we should
> do setup_cb_free to clear cb_data and unref setup.
> ---
>  profiles/audio/a2dp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
> index 0d877b132..1b92352cf 100644
> --- a/profiles/audio/a2dp.c
> +++ b/profiles/audio/a2dp.c
> @@ -1719,7 +1719,7 @@ static int a2dp_reconfig(struct a2dp_channel *chan, const char *sender,
>         return 0;
>
>  fail:
> -       setup_unref(setup);
> +       setup_cb_free(cb_data);
>         return err;
>  }
>
> --
> 2.17.1

Applied, thanks.

-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-06-01 16:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-30  8:51 [PATCH] a2dp: Fix ref counting bug of setup_unref Sonny Sasaka
2020-06-01 16:29 ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).