[PATCH] ephyr: Avoid a segfault with 'DISPLAY= Xephy -glamor'

Daniel Martin consume.noise at gmail.com
Mon Feb 9 06:03:18 PST 2015


On 9 February 2015 at 14:45, Jon TURNEY <jon.turney at dronecode.org.uk> wrote:
> ephyr_glamor_connect() returns NULL if we failed, but applying
> xcb_connection_has_error() to NULL is not permitted.
>
> Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
> ---
>  hw/kdrive/ephyr/hostx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
> index f64861b..15edce8 100644
> --- a/hw/kdrive/ephyr/hostx.c
> +++ b/hw/kdrive/ephyr/hostx.c
> @@ -443,7 +443,7 @@ hostx_init(void)
>      else
>  #endif
>          HostX.conn = xcb_connect(NULL, &HostX.screen);
> -    if (xcb_connection_has_error(HostX.conn)) {
> +    if (!HostX.conn || xcb_connection_has_error(HostX.conn)) {

No need to change the check, as xcb_connect() ...
    "Always returns a non-NULL pointer to a xcb_connection_t, even on failure."
    http://cgit.freedesktop.org/xcb/libxcb/tree/src/xcb.h#n549

>          fprintf(stderr, "\nXephyr cannot open host display. Is DISPLAY set?\n");
>          exit(1);
>      }
> --
> 2.1.4
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list