Index: programs/Xserver/Xext/xf86bigfont.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/Xext/xf86bigfont.c,v retrieving revision 1.1.4.1.2.1 diff -u -r1.1.4.1.2.1 xf86bigfont.c --- programs/Xserver/Xext/xf86bigfont.c 17 Mar 2004 20:29:58 -0000 1.1.4.1.2.1 +++ programs/Xserver/Xext/xf86bigfont.c 17 Sep 2004 11:56:08 -0000 @@ -471,13 +471,16 @@ if (nCharInfos > 0) { #ifdef HAS_SHM - pDesc = (ShmDescPtr) FontGetPrivate(pFont, FontShmdescIndex); + if (!badSysCall) + pDesc = (ShmDescPtr) FontGetPrivate(pFont, FontShmdescIndex); + else + pDesc = NULL; if (pDesc) { pCI = (xCharInfo *) pDesc->attach_addr; if (stuff_flags & XF86Bigfont_FLAGS_Shm) shmid = pDesc->shmid; } else { - if (stuff_flags & XF86Bigfont_FLAGS_Shm) + if (stuff_flags & XF86Bigfont_FLAGS_Shm && !badSysCall) pDesc = shmalloc(nCharInfos * sizeof(xCharInfo) + sizeof(CARD32)); if (pDesc) { @@ -522,7 +525,7 @@ } } #ifdef HAS_SHM - if (pDesc) { + if (pDesc && !badSysCall) { *(CARD32 *)(pCI + nCharInfos) = signature; if (!FontSetPrivate(pFont, FontShmdescIndex, pDesc)) { shmdealloc(pDesc);