On Fri, Dec 4, 2015 at 12:38 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > In some case the member specified to SPICE_CONTAINEROF was not > exactly the same type of the pointer passed. > This can cause issues if structure changes so use proper member. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/display-channel.c | 2 +- > server/sound.c | 2 +- > server/tree.c | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/server/display-channel.c b/server/display-channel.c > index 2ef1c88..f0ff2bd 100644 > --- a/server/display-channel.c > +++ b/server/display-channel.c > @@ -429,7 +429,7 @@ static void current_remove(DisplayChannel *display, TreeItem *item) > RingItem *ring_item; > > if (now->type == TREE_ITEM_TYPE_DRAWABLE) { > - Drawable *drawable = SPICE_CONTAINEROF(now, Drawable, tree_item); > + Drawable *drawable = SPICE_CONTAINEROF(now, Drawable, tree_item.base); > ring_item = now->siblings_link.prev; > drawable_remove_from_pipes(drawable); > current_remove_drawable(display, drawable); > diff --git a/server/sound.c b/server/sound.c > index 2d3f393..0c94964 100644 > --- a/server/sound.c > +++ b/server/sound.c > @@ -1102,7 +1102,7 @@ SPICE_GNUC_VISIBLE void spice_server_playback_put_samples(SpicePlaybackInstance > PlaybackChannel *playback_channel; > AudioFrame *frame; > > - frame = SPICE_CONTAINEROF(samples, AudioFrame, samples); > + frame = SPICE_CONTAINEROF(samples, AudioFrame, samples[0]); > playback_channel = frame->channel; > spice_assert(playback_channel); > if (!snd_channel_put(&playback_channel->base) || > diff --git a/server/tree.c b/server/tree.c > index e5e3c76..9e5a281 100644 > --- a/server/tree.c > +++ b/server/tree.c > @@ -129,7 +129,7 @@ static void dump_item(TreeItem *item, void *data) > > switch (item->type) { > case TREE_ITEM_TYPE_DRAWABLE: { > - Drawable *drawable = SPICE_CONTAINEROF(item, Drawable, tree_item); > + Drawable *drawable = SPICE_CONTAINEROF(item, Drawable, tree_item.base); > const int max_indent = 200; > char indent_str[max_indent + 1]; > int indent_str_len; > -- > 2.4.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel Acked-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel