$NetBSD: patch-am,v 1.1 2008/04/03 22:33:00 tonnerre Exp $ Remove the default display :0 (solves CVE-2008-1142) --- src/init.c.orig 2002-12-04 06:21:39.000000000 +0100 +++ src/init.c @@ -532,14 +532,13 @@ rxvt_init_resources(rxvt_t *r, int argc, /* * Open display, get options/resources and create the window */ - if ((rs[Rs_display_name] = getenv("DISPLAY")) == NULL) - rs[Rs_display_name] = ":0"; + rs[Rs_display_name] = getenv("DISPLAY"); rxvt_get_options(r, r_argc, r_argv); free(r_argv); #ifdef LOCAL_X_IS_UNIX - if (rs[Rs_display_name][0] == ':') { + if (rs[Rs_display_name] && rs[Rs_display_name][0] == ':') { val = rxvt_malloc(5 + STRLEN(rs[Rs_display_name])); STRCPY(val, "unix"); STRCAT(val, rs[Rs_display_name]); @@ -550,7 +549,9 @@ rxvt_init_resources(rxvt_t *r, int argc, if (r->Xdisplay == NULL && (r->Xdisplay = XOpenDisplay(rs[Rs_display_name])) == NULL) { - rxvt_print_error("can't open display %s", rs[Rs_display_name]); + rxvt_print_error("can't open display %s", rs[Rs_display_name] ? + rs[Rs_display_name] : getenv("DISPLAY")?getenv("DISPLAY") : + "as no -display given and DISPLAY not set"); exit(EXIT_FAILURE); }