Hi, On Thu, Nov 5, 2015 at 3:35 PM, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > > Profiles under ext_profiles are local and should no be mixed with other > external profiles since its type is different which can may cause invalid > memory when accessing member of ext_profile struct. > --- > src/profile.c | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > > diff --git a/src/profile.c b/src/profile.c > index 49445d7..5a4f09c 100644 > --- a/src/profile.c > +++ b/src/profile.c > @@ -719,19 +719,13 @@ void btd_profile_foreach(void (*func)(struct btd_profile *p, void *data), > > int btd_profile_register(struct btd_profile *profile) > { > - if (profile->external) > - ext_profiles = g_slist_append(ext_profiles, profile); > - else > - profiles = g_slist_append(profiles, profile); > + profiles = g_slist_append(profiles, profile); > return 0; > } > > void btd_profile_unregister(struct btd_profile *profile) > { > - if (profile->external) > - ext_profiles = g_slist_remove(ext_profiles, profile); > - else > - profiles = g_slist_remove(profiles, profile); > + profiles = g_slist_remove(profiles, profile); > } > > static struct ext_profile *find_ext_profile(const char *owner, > @@ -742,10 +736,6 @@ static struct ext_profile *find_ext_profile(const char *owner, > for (l = ext_profiles; l != NULL; l = g_slist_next(l)) { > struct ext_profile *ext = l->data; > > - /* > - * Owner and path can be NULL if profile was registered by a > - * plugin using external flag. > - */ > if (g_strcmp0(ext->owner, owner)) > continue; > > -- > 2.4.3 Applied. -- 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