Re: [PATCH] Prevent zero sized wl_egl_window

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

 



On Wed, 12 Feb 2014 16:21:11 -0800
Sinclair Yeh <sinclair.yeh@xxxxxxxxx> wrote:

> It is illegal to create or resize a window to zero (or negative) width
> and/or height.  This patch prevents such a request from happening.
> ---
>  src/egl/wayland/wayland-egl/wayland-egl.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/egl/wayland/wayland-egl/wayland-egl.c
> b/src/egl/wayland/wayland-egl/wayland-egl.c index 8bd49cf..ae78595
> 100644 --- a/src/egl/wayland/wayland-egl/wayland-egl.c
> +++ b/src/egl/wayland/wayland-egl/wayland-egl.c
> @@ -9,6 +9,9 @@ wl_egl_window_resize(struct wl_egl_window *egl_window,
>  		     int width, int height,
>  		     int dx, int dy)
>  {
> +	if (width <= 0 || height <= 0)
> +		return;
> +

The below seems fine, but I wonder if we could make this one cause an
error to be returned later where we can, rather than silently ignoring.
I'm not sure where or how, though.

Surely drivers have maximum size limits, too, those must be catched
somewhere already.

>  	egl_window->width  = width;
>  	egl_window->height = height;
>  	egl_window->dx     = dx;
> @@ -24,6 +27,9 @@ wl_egl_window_create(struct wl_surface *surface,
>  {
>  	struct wl_egl_window *egl_window;
>  
> +	if (width <= 0 || height <= 0)
> +		return NULL;
> +
>  	egl_window = malloc(sizeof *egl_window);
>  	if (!egl_window)
>  		return NULL;

Thanks,
pq
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux