[comp.windows.x] BUG in XOpenDisplay

daniel@mirsa.inria.fr (Daniel Dardailler) (01/12/89)

Perhaps it's a little warped, but i think it's a valid bug :
the form  'hostname:number.screen'  is parsed in lib/X/XConnDis.c
in such a way that if you give :
	DISPLAY=myhost:zero
it works fine, like a right form DISPLAY=myhost:0.0
it's in fact tied to the use of atoi() function.
	DISPLAY=myhost:zero.null  and
	DISPLAY=myhost:.
work also, but a declaration like
	DISPLAY=myhost:a_string_of_lenght_superior_to_sixteen
gives a Memory Fault (or something abnormal, like the dump of
the requests send by the X client on stdout!)

If you take a look at the code, you will notice that after the parsing
of <hostname:>, there is a transfer in another buffer named numberbuf,
announced by a comment :
	/*
	 * Build a string of the form <display-number>.<screen-number> in
	 * numberbuf, using ".0" as the default.
	 */
the problem is that numberbuf length is 16 and there is no condition
like (i < 16) in the loop transfer. 


-- 
   Daniel Dardailler                   |      Email : daniel@mirsa.inria.fr  
   BULL  Centre de Sophia Antipolis    |      Phone : (33) 93 65 77 71       
         2004, Route des Lucioles      |      Telex :      97 00 50 F        
         06565 Valbonne CEDEX  France  |      Fax   : (33) 93 65 77 66