Subject: xsrc/20764: xkbInit.c: wrong variable initialized
To: None <gnats-bugs@gnats.netbsd.org>
From: john heasley <heas@shrubbery.net>
List: netbsd-bugs
Date: 03/17/2003 05:44:37
>Number:         20764
>Category:       xsrc
>Synopsis:       xkbInit.c: wrong variable initialized
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    xsrc-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 16 21:45:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     john heasley
>Release:        NetBSD 1.6L
>Organization:
	
>Environment:
	
	
System: NetBSD guelah 1.6L NetBSD 1.6L (guelah) #3: Thu Jan 23 06:35:30 UTC 2003 root@guelah:/sys/arch/sparc64/compile/guelah sparc64
Architecture: sparc64
Machine: sparc64
>Description:
the wrong variable is "initialized" in xkbInit.c:XkbInitKeyboardDeviceStruct()
and leads to core (MALLOC_OPTIONS X) when/if it's free'd at the end of the
function (it starts off on the stack).

>How-To-Repeat:
xkbd initializtion on sparc64 w/ type 5 kbd triggers (for me).

>Fix:

Index: xkbInit.c
===================================================================
RCS file: /cvsroot/xsrc/xfree/xc/programs/Xserver/xkb/xkbInit.c,v
retrieving revision 1.1.1.5
diff -u -r1.1.1.5 xkbInit.c
--- xkbInit.c	2003/02/28 13:20:28	1.1.1.5
+++ xkbInit.c	2003/03/17 05:28:48
@@ -713,7 +713,7 @@
     if (names->types) names->types = _XkbDupString(names->types);
     if (names->compat) names->compat = _XkbDupString(names->compat);
     if (names->geometry) names->geometry = _XkbDupString(names->geometry);
-    if (names->symbols) names->geometry = _XkbDupString(names->symbols);
+    if (names->symbols) names->symbols = _XkbDupString(names->symbols);
 
     if (defs.model && defs.layout && rules) {
 	XkbComponentNamesRec	rNames;
>Release-Note:
>Audit-Trail:
>Unformatted: