File rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch of Package rxvt-unicode
Index: a/src/init.C
===================================================================
--- a/src/init.C.orig 2014-06-10 16:56:11.607914416 +0200
+++ b/src/init.C 2014-06-10 16:58:40.643914152 +0200
@@ -621,13 +621,12 @@ rxvt_term::init_resources (int argc, const char *const *argv)
* 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");
cmd_argv = get_options (argc, argv);
- if (!(display = displays.get (rs[Rs_display_name])))
- rxvt_fatal ("can't open display %s, aborting.\n", rs[Rs_display_name]);
+ if (!rs[Rs_display_name] || !(display = displays.get (rs[Rs_display_name])))
+ rxvt_fatal ("can't open display %s, aborting.\n", (rs[Rs_display_name] ? rs[Rs_display_name] : "as no -display option has been given and DISPLAY is not set"));
// using a local pointer decreases code size a lot
xa = display->xa;