display channel: Don't let client set too many surfaces

Limit the n_surfaces argument to avoid overflowing the surfaces array.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
This commit is contained in:
Frediano Ziglio 2016-10-20 12:36:06 +01:00
parent 090fbe5eeb
commit beec1b4175

View File

@ -1946,7 +1946,7 @@ DisplayChannel* display_channel_new(RedsState *reds,
#endif
image_encoder_shared_init(&display->priv->encoder_shared_data);
display->priv->n_surfaces = n_surfaces;
display->priv->n_surfaces = MIN(n_surfaces, NUM_SURFACES);
display->priv->renderer = RED_RENDERER_INVALID;
ring_init(&display->priv->current_list);