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