Index: libxkbfile-1.0.5/src/cout.c =================================================================== --- libxkbfile-1.0.5.orig/src/cout.c 2009-01-09 16:57:29.000000000 -0800 +++ libxkbfile-1.0.5/src/cout.c 2009-01-09 16:58:57.000000000 -0800 @@ -132,13 +132,16 @@ register unsigned i,n; XkbKeyTypePtr type; Atom * names; -char prefix[32]; +char * prefix = NULL; fprintf(file,"\n\nstatic void\n"); fprintf(file,"initTypeNames(DPYTYPE dpy)\n"); fprintf(file,"{\n"); for (i=0,type=xkb->map->types;imap->num_types;i++,type++) { - strcpy(prefix,XkbAtomText(dpy,type->name,XkbCFile)); + if (asprintf(&prefix, "%s", XkbAtomText(dpy,type->name,XkbCFile))<0) { + perror("asprintf"); + exit(1); + } if (type->name!=None) fprintf(file," dflt_types[%d].name= GET_ATOM(dpy,\"%s\");\n",i, XkbAtomText(dpy,type->name,XkbCFile)); @@ -155,6 +158,8 @@ fprintf(file,"GET_ATOM(dpy,\"%s\");\n",tmp); } } + free(prefix); + prefix = NULL; } fprintf(file,"}\n"); return;