[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libx11: Changes to 'upstream-unstable'



 autogen.sh                             |    4 
 configure.ac                           |   17 +-
 include/X11/Xcms.h                     |   12 +
 include/X11/Xlib.h                     |   16 +
 include/X11/Xlibint.h                  |  114 ++++++--------
 include/X11/Xutil.h                    |   12 +
 man/AllPlanes.man                      |   63 -------
 man/BlackPixelOfScreen.man             |   37 ----
 man/DisplayOfCCC.man                   |   37 ----
 man/ImageByteOrder.man                 |   71 --------
 man/IsCursorKey.man                    |   63 -------
 man/XAddConnectionWatch.man            |   63 -------
 man/XAddHost.man                       |   81 ---------
 man/XAllocClassHint.man                |   70 --------
 man/XAllocColor.man                    |   63 -------
 man/XAllocIconSize.man                 |   71 --------
 man/XAllocSizeHints.man                |   91 +----------
 man/XAllocStandardColormap.man         |   89 +---------
 man/XAllocWMHints.man                  |   85 +---------
 man/XAllowEvents.man                   |   63 -------
 man/XAnyEvent.man                      |  143 ++++-------------
 man/XButtonEvent.man                   |  147 ++++--------------
 man/XChangeKeyboardControl.man         |   97 +----------
 man/XChangeKeyboardMapping.man         |   69 --------
 man/XChangePointerControl.man          |   63 -------
 man/XChangeSaveSet.man                 |   63 -------
 man/XChangeWindowAttributes.man        |   63 -------
 man/XCirculateEvent.man                |   79 ---------
 man/XCirculateRequestEvent.man         |   79 ---------
 man/XClearArea.man                     |   63 -------
 man/XClientMessageEvent.man            |   89 +---------
 man/XColormapEvent.man                 |   81 +--------
 man/XConfigureEvent.man                |   87 +---------
 man/XConfigureRequestEvent.man         |   89 +---------
 man/XConfigureWindow.man               |   75 ---------
 man/XCopyArea.man                      |   63 -------
 man/XCreateColormap.man                |   73 --------
 man/XCreateFontCursor.man              |   63 -------
 man/XCreateFontSet.man                 |   63 -------
 man/XCreateGC.man                      |  116 +++-----------
 man/XCreateIC.man                      |   63 -------
 man/XCreateOC.man                      |   63 -------
 man/XCreatePixmap.man                  |   63 -------
 man/XCreateRegion.man                  |   63 -------
 man/XCreateWindow.man                  |   95 +----------
 man/XCreateWindowEvent.man             |   85 +---------
 man/XCrossingEvent.man                 |  103 ++----------
 man/XDefineCursor.man                  |   63 -------
 man/XDestroyWindow.man                 |   63 -------
 man/XDestroyWindowEvent.man            |   77 ---------
 man/XDrawArc.man                       |   63 -------
 man/XDrawImageString.man               |   63 -------
 man/XDrawLine.man                      |   67 --------
 man/XDrawPoint.man                     |   67 --------
 man/XDrawRectangle.man                 |   69 --------
 man/XDrawString.man                    |   63 -------
 man/XDrawText.man                      |   83 +---------
 man/XEmptyRegion.man                   |   63 -------
 man/XErrorEvent.man                    |   79 ---------
 man/XExposeEvent.man                   |   81 +--------
 man/XExtentsOfFontSet.man              |   63 -------
 man/XFillRectangle.man                 |   63 -------
 man/XFilterEvent.man                   |   63 -------
 man/XFlush.man                         |   63 -------
 man/XFocusChangeEvent.man              |   89 +---------
 man/XFontSetExtents.man                |   69 --------
 man/XFontsOfFontSet.man                |   63 -------
 man/XFree.man                          |   63 -------
 man/XGetEventData.man                  |   83 +---------
 man/XGetVisualInfo.man                 |   85 +---------
 man/XGetWindowAttributes.man           |  107 ++-----------
 man/XGetWindowProperty.man             |   63 -------
 man/XGrabButton.man                    |   63 -------
 man/XGrabKey.man                       |   63 -------
 man/XGrabKeyboard.man                  |   63 -------
 man/XGrabPointer.man                   |   63 -------
 man/XGrabServer.man                    |   63 -------
 man/XGraphicsExposeEvent.man           |  101 ++----------
 man/XGravityEvent.man                  |   79 ---------
 man/XIconifyWindow.man                 |   63 -------
 man/XIfEvent.man                       |   63 -------
 man/XInitImage.man                     |   63 -------
 man/XInitThreads.man                   |   63 -------
 man/XInstallColormap.man               |   63 -------
 man/XInternAtom.man                    |   63 -------
 man/XIntersectRegion.man               |   63 -------
 man/XKeymapEvent.man                   |   79 ---------
 man/XListFonts.man                     |   63 -------
 man/XLoadFont.man                      |   63 -------
 man/XLookupKeysym.man                  |   63 -------
 man/XMapEvent.man                      |   99 ++----------
 man/XMapRequestEvent.man               |   77 ---------
 man/XMapWindow.man                     |   63 -------
 man/XNextEvent.man                     |   63 -------
 man/XNoOp.man                          |   63 -------
 man/XOpenDisplay.man                   |   63 -------
 man/XOpenIM.man                        |   63 -------
 man/XOpenOM.man                        |   63 -------
 man/XParseGeometry.man                 |   63 -------
 man/XPolygonRegion.man                 |   63 -------
 man/XPropertyEvent.man                 |   81 +--------
 man/XPutBackEvent.man                  |   63 -------
 man/XPutImage.man                      |   63 -------
 man/XQueryBestSize.man                 |   63 -------
 man/XQueryColor.man                    |   63 -------
 man/XQueryPointer.man                  |   63 -------
 man/XQueryTree.man                     |   63 -------
 man/XRaiseWindow.man                   |   63 -------
 man/XReadBitmapFile.man                |   63 -------
 man/XRecolorCursor.man                 |   63 -------
 man/XReparentEvent.man                 |   83 +---------
 man/XReparentWindow.man                |   63 -------
 man/XResizeRequestEvent.man            |   77 ---------
 man/XResourceManagerString.man         |   63 -------
 man/XSaveContext.man                   |   63 -------
 man/XSelectInput.man                   |   63 -------
 man/XSelectionClearEvent.man           |   79 ---------
 man/XSelectionEvent.man                |   83 +---------
 man/XSelectionRequestEvent.man         |   85 +---------
 man/XSendEvent.man                     |   69 --------
 man/XSetArcMode.man                    |   63 -------
 man/XSetClipOrigin.man                 |   63 -------
 man/XSetCloseDownMode.man              |   63 -------
 man/XSetCommand.man                    |   63 -------
 man/XSetErrorHandler.man               |   63 -------
 man/XSetFillStyle.man                  |   63 -------
 man/XSetFont.man                       |   63 -------
 man/XSetFontPath.man                   |   63 -------
 man/XSetICFocus.man                    |   63 -------
 man/XSetICValues.man                   |   63 -------
 man/XSetInputFocus.man                 |   63 -------
 man/XSetLineAttributes.man             |   63 -------
 man/XSetPointerMapping.man             |   63 -------
 man/XSetScreenSaver.man                |   63 -------
 man/XSetSelectionOwner.man             |   63 -------
 man/XSetState.man                      |   63 -------
 man/XSetTextProperty.man               |   63 -------
 man/XSetTile.man                       |   63 -------
 man/XSetTransientForHint.man           |   63 -------
 man/XSetWMClientMachine.man            |   63 -------
 man/XSetWMColormapWindows.man          |   63 -------
 man/XSetWMIconName.man                 |   63 -------
 man/XSetWMName.man                     |   63 -------
 man/XSetWMProperties.man               |   63 -------
 man/XSetWMProtocols.man                |   63 -------
 man/XStoreBytes.man                    |   63 -------
 man/XStoreColors.man                   |   63 -------
 man/XStringListToTextProperty.man      |   73 --------
 man/XStringToKeysym.man                |   63 -------
 man/XSupportsLocale.man                |   63 -------
 man/XSynchronize.man                   |   63 -------
 man/XTextExtents.man                   |   63 -------
 man/XTextWidth.man                     |   63 -------
 man/XTranslateCoordinates.man          |   63 -------
 man/XUnmapEvent.man                    |   79 ---------
 man/XUnmapWindow.man                   |   63 -------
 man/XVaCreateNestedList.man            |   63 -------
 man/XVisibilityEvent.man               |   77 ---------
 man/XWarpPointer.man                   |   63 -------
 man/XcmsAllocColor.man                 |   63 -------
 man/XcmsCCCOfColormap.man              |   63 -------
 man/XcmsCIELabQueryMaxC.man            |   63 -------
 man/XcmsCIELuvQueryMaxC.man            |   63 -------
 man/XcmsColor.man                      |   63 -------
 man/XcmsConvertColors.man              |   63 -------
 man/XcmsCreateCCC.man                  |   63 -------
 man/XcmsDefaultCCC.man                 |   63 -------
 man/XcmsQueryBlack.man                 |   63 -------
 man/XcmsQueryColor.man                 |   63 -------
 man/XcmsSetWhitePoint.man              |   63 -------
 man/XcmsStoreColor.man                 |   63 -------
 man/XcmsTekHVCQueryMaxC.man            |   63 -------
 man/XmbDrawImageString.man             |   63 -------
 man/XmbDrawString.man                  |   63 -------
 man/XmbDrawText.man                    |   83 +---------
 man/XmbLookupString.man                |   68 --------
 man/XmbResetIC.man                     |   63 -------
 man/XmbTextEscapement.man              |   63 -------
 man/XmbTextExtents.man                 |   63 -------
 man/XmbTextListToTextProperty.man      |   85 +---------
 man/XmbTextPerCharExtents.man          |   63 -------
 man/XrmEnumerateDatabase.man           |   79 +--------
 man/XrmGetFileDatabase.man             |   65 --------
 man/XrmGetResource.man                 |   65 --------
 man/XrmInitialize.man                  |  103 ++----------
 man/XrmMergeDatabases.man              |   65 --------
 man/XrmPutResource.man                 |   65 --------
 man/XrmUniqueQuark.man                 |   65 --------
 man/xkb/XkbGetNamedGeometry.man        |    4 
 man/xkb/XkbSAGroup.man                 |    7 
 man/xkb/XkbSASetGroup.man              |   14 -
 man/xkb/XkbSetDetectableAutoRepeat.man |    4 
 man/xkb/XkbSetDeviceButtonActions.man  |    4 
 modules/im/ximcp/Makefile.am           |    1 
 modules/im/ximcp/imCallbk.c            |   54 +++---
 modules/im/ximcp/imDefFlt.c            |   40 ++--
 modules/im/ximcp/imDefIc.c             |   60 +++----
 modules/im/ximcp/imDefIm.c             |   96 +++++------
 modules/im/ximcp/imDefLkup.c           |   74 ++++-----
 modules/im/ximcp/imDispch.c            |    8 
 modules/im/ximcp/imExten.c             |   34 ++--
 modules/im/ximcp/imImSw.c              |    2 
 modules/im/ximcp/imInsClbk.c           |   14 -
 modules/im/ximcp/imInt.c               |   20 +-
 modules/im/ximcp/imLcGIc.c             |    2 
 modules/im/ximcp/imLcIc.c              |   16 -
 modules/im/ximcp/imLcIm.c              |   34 ++--
 modules/im/ximcp/imLcLkup.c            |   14 -
 modules/im/ximcp/imLcPrs.c             |   68 ++++++--
 modules/im/ximcp/imLcSIc.c             |    2 
 modules/im/ximcp/imRm.c                |  220 +++++++++++++--------------
 modules/im/ximcp/imRmAttr.c            |   48 ++---
 modules/im/ximcp/imThaiFlt.c           |   98 ++++++------
 modules/im/ximcp/imThaiIc.c            |   14 -
 modules/im/ximcp/imThaiIm.c            |    8 
 modules/im/ximcp/imTrX.c               |   30 +--
 modules/im/ximcp/imTrans.c             |   22 +-
 modules/im/ximcp/imTransR.c            |   28 +--
 modules/om/generic/omXChar.c           |   91 +----------
 nls/Makefile.am                        |    4 
 nls/compose.dir.pre                    |   98 +++++++++---
 nls/en_US.UTF-8/Compose.pre            |   56 +++---
 nls/ja.S90/XI18N_OBJS                  |    7 
 nls/ja.S90/XLC_LOCALE.pre              |  150 ------------------
 nls/ja.U90/XI18N_OBJS                  |    7 
 nls/ja.U90/XLC_LOCALE.pre              |  151 ------------------
 nls/ja_JP.UTF-8/Compose.pre            |    1 
 nls/km_KH.UTF-8/Compose.pre            |    8 
 nls/km_KH.UTF-8/XI18N_OBJS             |    8 
 nls/ko_KR.UTF-8/Compose.pre            |    1 
 nls/locale.alias.pre                   |  254 +++++++++++++++++--------------
 nls/locale.dir.pre                     |   43 +++--
 nls/pt_BR.UTF-8/Compose.pre            |   52 +++---
 nls/sr_CS.UTF-8/Compose.pre            |  128 +++++++++++++++
 nls/sr_CS.UTF-8/XI18N_OBJS             |    8 
 nls/th_TH.UTF-8/Compose.pre            |    1 
 nls/zh_CN.UTF-8/Compose.pre            |    1 
 nls/zh_HK.UTF-8/Compose.pre            |    1 
 nls/zh_TW.UTF-8/Compose.pre            |    1 
 specs/libX11/CH04.xml                  |    3 
 src/AllCells.c                         |    9 -
 src/ChProp.c                           |    6 
 src/ChWindow.c                         |    9 -
 src/Cmap.h                             |    2 
 src/ConfWind.c                         |   13 -
 src/Context.c                          |    8 
 src/Cr.h                               |    2 
 src/CrBFData.c                         |   47 ++---
 src/CrGC.c                             |    2 
 src/CrPFBData.c                        |   54 +++---
 src/CrWindow.c                         |    9 -
 src/Depths.c                           |    2 
 src/DrArc.c                            |   12 -
 src/DrLine.c                           |   16 -
 src/DrPoint.c                          |   15 -
 src/DrRect.c                           |   16 -
 src/ErrDes.c                           |    9 -
 src/FSWrap.c                           |    6 
 src/FillArc.c                          |   16 -
 src/FillRct.c                          |   15 -
 src/Font.c                             |  134 ++++++----------
 src/FontInfo.c                         |  144 +++++++----------
 src/FontNames.c                        |   35 ++--
 src/GetAtomNm.c                        |   12 -
 src/GetDflt.c                          |   27 ---
 src/GetFPath.c                         |   36 ++--
 src/GetFProp.c                         |   27 +--
 src/GetHints.c                         |    9 -
 src/GetImage.c                         |   12 -
 src/GetMoEv.c                          |   26 +--
 src/GetPntMap.c                        |   31 ++-
 src/GetProp.c                          |   33 ++--
 src/GetRGBCMap.c                       |    3 
 src/ImUtil.c                           |   20 --
 src/InitExt.c                          |    4 
 src/IntAtom.c                          |    6 
 src/Key.h                              |    3 
 src/KeyBind.c                          |   10 -
 src/KeysymStr.c                        |   26 +--
 src/LiHosts.c                          |   29 +--
 src/LiICmaps.c                         |    8 
 src/LiProps.c                          |    8 
 src/ListExt.c                          |   36 ++--
 src/Macros.c                           |    5 
 src/Makefile.am                        |    1 
 src/ModMap.c                           |   17 +-
 src/MoveWin.c                          |    9 -
 src/OpenDis.c                          |   27 +--
 src/PixFormats.c                       |    4 
 src/PolyReg.c                          |   13 -
 src/PolyTxt16.c                        |   23 --
 src/PropAlloc.c                        |   16 -
 src/PutBEvent.c                        |    2 
 src/PutImage.c                         |   13 -
 src/QuColors.c                         |   10 -
 src/QuTree.c                           |    8 
 src/Quarks.c                           |   13 -
 src/RdBitF.c                           |    2 
 src/Region.c                           |   19 +-
 src/RegstFlt.c                         |    4 
 src/RestackWs.c                        |    9 -
 src/SendEvent.c                        |    5 
 src/SetFPath.c                         |    2 
 src/SetHints.c                         |   10 -
 src/SetPntMap.c                        |    2 
 src/StBytes.c                          |    2 
 src/StColor.c                          |   12 -
 src/StName.c                           |    6 
 src/StrKeysym.c                        |    2 
 src/StrToText.c                        |    2 
 src/Text16.c                           |   23 --
 src/TextToStr.c                        |    4 
 src/VisUtil.c                          |    8 
 src/WrBitF.c                           |    2 
 src/XErrorDB                           |    1 
 src/Xintatom.h                         |    1 
 src/Xintconn.h                         |    1 
 src/XlibAsync.c                        |    5 
 src/XlibInt.c                          |  268 +--------------------------------
 src/Xprivate.h                         |    2 
 src/Xresinternal.h                     |    2 
 src/Xrm.c                              |   50 +++---
 src/globals.c                          |  121 --------------
 src/locking.c                          |    8 
 src/locking.h                          |    2 
 src/pathmax.h                          |   81 +++++++++
 src/udcInf.c                           |   17 --
 src/xcb_io.c                           |   17 ++
 src/xcms/Makefile.am                   |    5 
 src/xcms/cmsColNm.c                    |   31 ++-
 src/xcms/cmsMath.c                     |    4 
 src/xcms/cmsTrig.c                     |    4 
 src/xkb/XKBAlloc.c                     |   12 -
 src/xkb/XKBExtDev.c                    |    6 
 src/xkb/XKBGAlloc.c                    |   21 --
 src/xkb/XKBGeom.c                      |   15 +
 src/xkb/XKBGetMap.c                    |   33 +++-
 src/xkb/XKBMAlloc.c                    |   13 -
 src/xkb/XKBMisc.c                      |   13 -
 src/xkb/XKBNames.c                     |   58 -------
 src/xkb/XKBRdBuf.c                     |   28 ---
 src/xkb/XKBlibint.h                    |    2 
 src/xlibi18n/XimTrInt.h                |    2 
 src/xlibi18n/Ximint.h                  |    7 
 src/xlibi18n/lcFile.c                  |   24 --
 345 files changed, 2563 insertions(+), 14421 deletions(-)

New commits:
commit 655d631e86c95b14888758b27ed2836ca3e3ce86
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Mon Jun 3 19:21:06 2013 -0700

    libX11 1.6.0
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 1f24bd2..f533f3c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libX11], [1.5.99.902],
+AC_INIT([libX11], [1.6.0],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libX11])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h])

commit 4a89b7ea908554628f374537a79931c8006a2de3
Author: Thomas Klausner <wiz@NetBSD.org>
Date:   Sun Jun 2 11:49:54 2013 -0700

    cmsMath.c: Add missing stdio header for printf(3) in DEBUG build.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/xcms/cmsMath.c b/src/xcms/cmsMath.c
index 70b0675..487eb3f 100644
--- a/src/xcms/cmsMath.c
+++ b/src/xcms/cmsMath.c
@@ -35,6 +35,10 @@ in this Software without prior written authorization from The Open Group.
 #include "Xlibint.h"
 #include "Xcmsint.h"
 
+#ifdef DEBUG
+#include <stdio.h>
+#endif
+
 #include <float.h>
 #ifndef DBL_EPSILON
 #define DBL_EPSILON 1e-6

commit 96dcf747f13b26b8e4d17b1bc8605d933c3e1dc6
Author: Thomas Klausner <wiz@NetBSD.org>
Date:   Sun Jun 2 20:49:48 2013 +0200

    XCreateGC man page: Avoid .TS H and .TH macros
    
    Avoid .TS H and .TH for now as it doesn't alter the output in this case,
    and improve the output with mandoc(1).
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/man/XCreateGC.man b/man/XCreateGC.man
index 62a2f00..de0d039 100644
--- a/man/XCreateGC.man
+++ b/man/XCreateGC.man
@@ -460,7 +460,7 @@ are:
 .\" and operation.
 .\".CP T 1
 .\"Display Functions
-.TS H
+.TS
 lw(1.5i) cw(.5i) lw(2i).
 _
 .sp 6p
@@ -469,7 +469,6 @@ Function Name	Value	Operation
 .sp 6p
 _
 .sp 6p
-.TH
 T{
 .ZN GXclear
 T}	T{

commit 95a388158c9d73df7d24016d6a3d61506d7d53a4
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu May 23 19:43:35 2013 -0700

    libX11 1.5.99.902 (1.6 RC2)
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/configure.ac b/configure.ac
index 7734219..1f24bd2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libX11], [1.5.99.901],
+AC_INIT([libX11], [1.5.99.902],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libX11])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([src/config.h include/X11/XlibConf.h])

commit a3bdd2b090915fe0163b062f0e6576fe05dd332e
Author: Julien Cristau <jcristau@debian.org>
Date:   Thu May 23 20:39:46 2013 +0200

    xkb: fix off-by-one in _XkbReadGetNamesReply and _XkbReadVirtualModMap
    
    The size of the arrays is max_key_code + 1.  This makes these functions
    consistent with the other checks added for CVE-2013-1997.
    
    Also check the XkbGetNames reply when names->keys was just allocated.
    
    Signed-off-by: Julien Cristau <jcristau@debian.org>
    Tested-by: Colin Walters <walters@verbum.org>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/xkb/XKBGetMap.c b/src/xkb/XKBGetMap.c
index 0875dfd..c73e655 100644
--- a/src/xkb/XKBGetMap.c
+++ b/src/xkb/XKBGetMap.c
@@ -426,7 +426,7 @@ XkbServerMapPtr		srv;
 
     if ( rep->totalVModMapKeys>0 ) {
 	if (((int) rep->firstVModMapKey + rep->nVModMapKeys)
-	     > xkb->max_key_code)
+	     > xkb->max_key_code + 1)
 	    return BadLength;
 	if (((xkb->server==NULL)||(xkb->server->vmodmap==NULL))&&
 	    (XkbAllocServerMap(xkb,XkbVirtualModMapMask,0)!=Success)) {
diff --git a/src/xkb/XKBNames.c b/src/xkb/XKBNames.c
index 0f1e48e..3a8860b 100644
--- a/src/xkb/XKBNames.c
+++ b/src/xkb/XKBNames.c
@@ -180,7 +180,7 @@ _XkbReadGetNamesReply(	Display *		dpy,
 	    nKeys= xkb->max_key_code+1;
 	    names->keys= _XkbTypedCalloc(nKeys,XkbKeyNameRec);
 	}
-	else if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code)
+	if ( ((int)rep->firstKey + rep->nKeys) > xkb->max_key_code + 1)
 	    goto BAILOUT;
 	if (names->keys!=NULL) {
 	    if (!_XkbCopyFromReadBuffer(&buf,

commit 7e30056e78e4b7979ff47f102e00327617266019
Author: Niveditha Rau <Niveditha.Rau@Oracle.COM>
Date:   Fri May 17 15:26:21 2013 -0700

    Make sure internal headers include required headers
    
    Fixes builds with Solaris Studio 12.3 when lint is enabled, since it no
    longer ignores *.h files, but complains when they reference undefined
    typedefs or macros.
    
    Signed-off-by: Niveditha Rau <Niveditha.Rau@Oracle.COM>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/Cmap.h b/src/Cmap.h
index 062b538..78cc3ea 100644
--- a/src/Cmap.h
+++ b/src/Cmap.h
@@ -2,6 +2,8 @@
 #ifndef _CMAP_H_
 #define _CMAP_H_
 
+#include <X11/Xlib.h>
+
 extern void
 _XcmsDeleteCmapRec(
     Display *dpy,
diff --git a/src/Cr.h b/src/Cr.h
index 800c9ab..635e9e4 100644
--- a/src/Cr.h
+++ b/src/Cr.h
@@ -2,6 +2,8 @@
 #ifndef _CR_H_
 #define _CR_H_
 
+#include <X11/Xlib.h>
+
 extern int _XUpdateGCCache(
     register GC gc,
     register unsigned long mask,
diff --git a/src/Key.h b/src/Key.h
index 0fe89ba..bb25439 100644
--- a/src/Key.h
+++ b/src/Key.h
@@ -2,6 +2,9 @@
 #ifndef _KEY_H_
 #define _KEY_H_
 
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+
 #ifndef NEEDKTABLE
 extern const unsigned char _XkeyTable[];
 #endif
diff --git a/src/Xintatom.h b/src/Xintatom.h
index 82dba36..516a72b 100644
--- a/src/Xintatom.h
+++ b/src/Xintatom.h
@@ -2,6 +2,7 @@
 #ifndef _XINTATOM_H_
 #define _XINTATOM_H_ 1
 
+#include <X11/Xlib.h>
 #include <X11/Xfuncproto.h>
 
 /* IntAtom.c */
diff --git a/src/Xintconn.h b/src/Xintconn.h
index db59061..cd9aee3 100644
--- a/src/Xintconn.h
+++ b/src/Xintconn.h
@@ -3,6 +3,7 @@
 #define _XINTCONN_H_ 1
 
 #include <X11/Xfuncproto.h>
+#include <X11/Xlib.h>
 
 _XFUNCPROTOBEGIN
 
diff --git a/src/Xprivate.h b/src/Xprivate.h
index 006b170..6bfe70b 100644
--- a/src/Xprivate.h
+++ b/src/Xprivate.h
@@ -8,6 +8,8 @@
 #ifndef XPRIVATE_H
 #define XPRIVATE_H
 
+#include <X11/Xlib.h>
+
 extern _X_HIDDEN void _XIDHandler(Display *dpy);
 extern _X_HIDDEN void _XSeqSyncFunction(Display *dpy);
 extern _X_HIDDEN void _XSetPrivSyncFunction(Display *dpy);
diff --git a/src/Xresinternal.h b/src/Xresinternal.h
index c2f355f..b5cc7ff 100644
--- a/src/Xresinternal.h
+++ b/src/Xresinternal.h
@@ -2,6 +2,8 @@
 #ifndef _XRESINTERNAL_H_
 #define _XRESINTERNAL_H_
 
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
 #include <inttypes.h>
 
 /* type defines */
diff --git a/src/locking.h b/src/locking.h
index 96019fc..5251a60 100644
--- a/src/locking.h
+++ b/src/locking.h
@@ -36,6 +36,8 @@ in this Software without prior written authorization from The Open Group.
 
 #define xmalloc(s) Xmalloc(s)
 #define xfree(s) Xfree(s)
+#include <X11/Xlib.h>
+#include <X11/Xlibint.h>
 #include <X11/Xthreads.h>
 
 struct _XCVList {

commit 2820100bf8ba130b94253f415e7fa5ac28bb2037
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu May 16 23:05:36 2013 -0700

    Free fs->properties in _XF86BigfontQueryFont overflow error path
    
    Fixes small memory leak introduced in commit 5669a22081
    
    Reported-by: Julien Cristau <jcristau@debian.org>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/Font.c b/src/Font.c
index 3beb8a5..a32f740 100644
--- a/src/Font.c
+++ b/src/Font.c
@@ -507,6 +507,7 @@ _XF86BigfontQueryFont (
        any real font needs, so the combined total doesn't overflow either */
     if (reply.nUniqCharInfos > ((ULONG_MAX / 2) / SIZEOF(xCharInfo)) ||
 	reply.nCharInfos > ((ULONG_MAX / 2) / sizeof(CARD16))) {
+	Xfree((char *) fs->properties);
 	Xfree((char *) fs);
 	_XEatDataWords(dpy, reply_left);
 	return (XFontStruct *)NULL;

commit 3131740513133a9ff7cb12123d29ceb18584fc38
Author: Matthieu Herrb <matthieu.herrb@laas.fr>
Date:   Wed May 8 19:33:09 2013 +0200

    XListFontsWithInfo: Re-decrement flist[0] before calling free() on it.
    
    Freeing a pointer that wasn't returned by malloc() is undefined
    behavior and produces an error with OpenBSD's implementation.
    
    Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
    Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/FontInfo.c b/src/FontInfo.c
index 4b295a5..0cb5b19 100644
--- a/src/FontInfo.c
+++ b/src/FontInfo.c
@@ -174,8 +174,10 @@ XFontStruct **info)	/* RETURN */
   badmem:
     /* Free all memory allocated by this function. */
     for (j=(i-1); (j >= 0); j--) {
-	Xfree(flist[j]);
-	if (finfo[j].properties) Xfree((char *) finfo[j].properties);
+        if (j == 0)
+            flist[j]--;         /* was incremented above */
+        Xfree(flist[j]);
+        if (finfo[j].properties) Xfree((char *) finfo[j].properties);
     }
     if (flist) Xfree((char *) flist);
     if (finfo) Xfree((char *) finfo);

commit 3fe4bea086149f06a142a8f1d575f627ec1e22c7
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Fri Apr 19 14:30:40 2013 -0700

    Give GNU & Solaris Studio compilers hints about XEatData branches
    
    Try to offset the cost of all the recent checks we've added by giving
    the compiler a hint that the branches that involve us eating data
    are less likely to be used than the ones that process it.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h
index d63a534..acbad6b 100644
--- a/include/X11/Xlibint.h
+++ b/include/X11/Xlibint.h
@@ -832,6 +832,15 @@ typedef struct _XExten {		/* private to extension mechanism */
 	struct _XExten *next_flush;	/* next in list of those with flushes */
 } _XExtension;
 
+/* Temporary definition until we can depend on an xproto release with it */
+#ifdef _X_COLD
+# define _XLIB_COLD _X_COLD
+#elif defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403) /* 4.3+ */
+# define _XLIB_COLD __attribute__((__cold__))
+#else
+# define _XLIB_COLD /* nothing */
+#endif
+
 /* extension hooks */
 
 #ifdef DataRoutineIsProcedure
@@ -854,11 +863,14 @@ extern int (*_XErrorFunction)(
 extern void _XEatData(
     Display*		/* dpy */,
     unsigned long	/* n */
-);
+) _XLIB_COLD;
 extern void _XEatDataWords(
     Display*		/* dpy */,
     unsigned long	/* n */
-);
+) _XLIB_COLD;
+#if defined(__SUNPRO_C) /* Studio compiler alternative to "cold" attribute */
+# pragma rarely_called(_XEatData, _XEatDataWords)
+#endif
 extern char *_XAllocScratch(
     Display*		/* dpy */,
     unsigned long	/* nbytes */

commit e1b457beb8d4e831ef44279dada6c475cb955738
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Mar 31 12:22:35 2013 -0700

    _XkbReadGetMapReply: reject maxKeyCodes smaller than the minKeyCode
    
    Various other bounds checks in the code assume this is true, so
    enforce it when we first get the data from the X server.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/xkb/XKBGetMap.c b/src/xkb/XKBGetMap.c
index 5551298..0875dfd 100644
--- a/src/xkb/XKBGetMap.c
+++ b/src/xkb/XKBGetMap.c
@@ -484,6 +484,8 @@ unsigned	mask;
 
     if ( xkb->device_spec == XkbUseCoreKbd )
 	xkb->device_spec= rep->deviceID;
+    if ( rep->maxKeyCode < rep->minKeyCode )
+	return BadImplementation;
     xkb->min_key_code = rep->minKeyCode;
     xkb->max_key_code = rep->maxKeyCode;
 

commit 12ad4c6432496897ff000eb7cfecd0fb4b290331
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Mar 16 10:03:13 2013 -0700

    Use calloc in XOpenDisplay to initialize structs containing pointers
    
    Prevents trying to free uninitialized pointers if we have to bail out
    partway through setup, such as if we receive a corrupted or incomplete
    connection setup block from the server.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/OpenDis.c b/src/OpenDis.c
index 7318ad9..fc67d1a 100644
--- a/src/OpenDis.c
+++ b/src/OpenDis.c
@@ -340,7 +340,7 @@ XOpenDisplay (
 /*
  * Now iterate down setup information.....
  */
-	dpy->pixmap_format = Xmalloc(dpy->nformats * sizeof(ScreenFormat));
+	dpy->pixmap_format = Xcalloc(dpy->nformats, sizeof(ScreenFormat));
 	if (dpy->pixmap_format == NULL) {
 	        OutOfMemory (dpy);
 		return(NULL);
@@ -368,7 +368,7 @@ XOpenDisplay (
 /*
  * next the Screen structures.
  */
-	dpy->screens = Xmalloc(dpy->nscreens * sizeof(Screen));
+	dpy->screens = Xcalloc(dpy->nscreens, sizeof(Screen));
 	if (dpy->screens == NULL) {
 	        OutOfMemory (dpy);
 		return(NULL);
@@ -410,7 +410,7 @@ XOpenDisplay (
 /*
  * lets set up the depth structures.
  */
-	    sp->depths = Xmalloc(sp->ndepths * sizeof(Depth));
+	    sp->depths = Xcalloc(sp->ndepths, sizeof(Depth));
 	    if (sp->depths == NULL) {
 		OutOfMemory (dpy);
 		return(NULL);
@@ -432,7 +432,7 @@ XOpenDisplay (
 		dp->nvisuals = u.dp->nVisuals;
 		u.dp = (xDepth *) (((char *) u.dp) + sz_xDepth);
 		if (dp->nvisuals > 0) {
-		    dp->visuals = Xmalloc(dp->nvisuals * sizeof(Visual));
+		    dp->visuals = Xcalloc(dp->nvisuals, sizeof(Visual));
 		    if (dp->visuals == NULL) {
 			OutOfMemory (dpy);
 			return(NULL);

commit d38527e25f8b6e2f1174ecc21260c5c5416f972e
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Thu Mar 7 23:46:05 2013 -0800

    Remove more unnecessary casts from Xmalloc/calloc calls
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/Context.c b/src/Context.c
index 79ae7d6..4bb465b 100644
--- a/src/Context.c
+++ b/src/Context.c
@@ -111,7 +111,7 @@ static void ResizeTable(DB db)
     otable = db->table;
     for (i = INITHASHMASK+1; (i + i) < db->numentries; )
 	i += i;
-    db->table = (TableEntry *) Xcalloc((unsigned)i, sizeof(TableEntry));
+    db->table = Xcalloc(i, sizeof(TableEntry));
     if (!db->table) {
 	db->table = otable;
 	return;
@@ -180,11 +180,11 @@ int XSaveContext(
 	UnlockDisplay(display);
     }
     if (!db) {
-	db = (DB) Xmalloc(sizeof(DBRec));
+	db = Xmalloc(sizeof(DBRec));
 	if (!db)
 	    return XCNOMEM;
 	db->mask = INITHASHMASK;
-	db->table = (TableEntry *)Xcalloc(db->mask + 1, sizeof(TableEntry));
+	db->table = Xcalloc(db->mask + 1, sizeof(TableEntry));
 	if (!db->table) {
 	    Xfree((char *)db);
 	    return XCNOMEM;
@@ -210,7 +210,7 @@ int XSaveContext(
 	    return 0;
 	}
     }
-    entry = (TableEntry) Xmalloc(sizeof(TableEntryRec));
+    entry = Xmalloc(sizeof(TableEntryRec));
     if (!entry)
 	return XCNOMEM;
     entry->rid = rid;
diff --git a/src/CrGC.c b/src/CrGC.c
index 11de94c..2d5f17c 100644
--- a/src/CrGC.c
+++ b/src/CrGC.c
@@ -72,7 +72,7 @@ GC XCreateGC (
     register _XExtension *ext;
 
     LockDisplay(dpy);
-    if ((gc = (GC)Xmalloc (sizeof(struct _XGC))) == NULL) {
+    if ((gc = Xmalloc (sizeof(struct _XGC))) == NULL) {
 	UnlockDisplay(dpy);
 	SyncHandle();
 	return (NULL);
diff --git a/src/Depths.c b/src/Depths.c
index f49655c..a8b719d 100644
--- a/src/Depths.c
+++ b/src/Depths.c
@@ -49,7 +49,7 @@ int *XListDepths (
 	register Depth *dp;
 	register int i;
 
-	depths = (int *) Xmalloc (count * sizeof(int));
+	depths = Xmalloc (count * sizeof(int));
 	if (!depths) return NULL;
 	for (i = 0, dp = scr->depths; i < count; i++, dp++)
 	  depths[i] = dp->depth;
diff --git a/src/FSWrap.c b/src/FSWrap.c
index 910e602..12d0406 100644
--- a/src/FSWrap.c
+++ b/src/FSWrap.c
@@ -112,7 +112,7 @@ _XParseBaseFontNameList(
 	if (!*ptr)
 	    break;
     }
-    if (!(list = (char **) Xmalloc((unsigned)sizeof(char *) * (*num + 1)))) {
+    if (!(list = Xmalloc(sizeof(char *) * (*num + 1)))) {
 	Xfree(psave);
 	return (char **)NULL;
     }
@@ -133,7 +133,7 @@ copy_string_list(
     if (string_list == NULL || list_count <= 0)
 	return (char **) NULL;
 
-    string_list_ret = (char **) Xmalloc(sizeof(char *) * list_count);
+    string_list_ret = Xmalloc(sizeof(char *) * list_count);
     if (string_list_ret == NULL)
 	return (char **) NULL;
 
@@ -142,7 +142,7 @@ copy_string_list(
     for (length = 0; count-- > 0; list_src++)
 	length += strlen(*list_src) + 1;
 
-    dst = (char *) Xmalloc(length);
+    dst = Xmalloc(length);
     if (dst == NULL) {
 	Xfree(string_list_ret);
 	return (char **) NULL;
diff --git a/src/Font.c b/src/Font.c
index 5dbdb29..3beb8a5 100644
--- a/src/Font.c
+++ b/src/Font.c
@@ -215,7 +215,7 @@ _XQueryFont (
 	DeqAsyncHandler(dpy, &async);
     reply_left = reply.length -
 	((SIZEOF(xQueryFontReply) - SIZEOF(xReply)) >> 2);
-    if (! (fs = (XFontStruct *) Xmalloc (sizeof (XFontStruct)))) {
+    if (! (fs = Xmalloc (sizeof (XFontStruct)))) {
 	_XEatDataWords(dpy, reply_left);
 	return (XFontStruct *)NULL;
     }
@@ -323,7 +323,7 @@ _XF86BigfontCodes (
     if (pData)
 	return (XF86BigfontCodes *) pData->private_data;
 
-    pData = (XExtData *) Xmalloc(sizeof(XExtData) + sizeof(XF86BigfontCodes));
+    pData = Xmalloc(sizeof(XExtData) + sizeof(XF86BigfontCodes));
     if (!pData) {
 	/* Out of luck. */
 	return (XF86BigfontCodes *) NULL;
@@ -459,7 +459,7 @@ _XF86BigfontQueryFont (
 	DeqAsyncHandler(dpy, &async1);
     reply_left = reply.length -
 	((SIZEOF(xXF86BigfontQueryFontReply) - SIZEOF(xReply)) >> 2);
-    if (! (fs = (XFontStruct *) Xmalloc (sizeof (XFontStruct)))) {
+    if (! (fs = Xmalloc (sizeof (XFontStruct)))) {
 	_XEatDataWords(dpy, reply_left);
 	return (XFontStruct *)NULL;
     }
@@ -521,14 +521,14 @@ _XF86BigfontQueryFont (
 
 	    nbytes = reply.nUniqCharInfos * SIZEOF(xCharInfo)
 	             + (reply.nCharInfos+1)/2 * 2 * sizeof(CARD16);
-	    pUniqCI = (xCharInfo *) Xmalloc (nbytes);
+	    pUniqCI = Xmalloc (nbytes);
 	    if (!pUniqCI) {
 		if (fs->properties) Xfree((char *) fs->properties);
 		Xfree((char *) fs);
 		_XEatDataWords(dpy, reply_left);
 		return (XFontStruct *)NULL;
 	    }
-	    if (! (fs->per_char = (XCharStruct *) Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) {
+	    if (! (fs->per_char = Xmalloc (reply.nCharInfos * sizeof(XCharStruct)))) {
 		Xfree((char *) pUniqCI);
 		if (fs->properties) Xfree((char *) fs->properties);
 		Xfree((char *) fs);
@@ -555,7 +555,7 @@ _XF86BigfontQueryFont (
 	    XEDataObject fs_union;
 	    char *addr;
 
-	    pData = (XExtData *) Xmalloc(sizeof(XExtData));
+	    pData = Xmalloc(sizeof(XExtData));
 	    if (!pData) {
 		if (fs->properties) Xfree((char *) fs->properties);
 		Xfree((char *) fs);
diff --git a/src/GetAtomNm.c b/src/GetAtomNm.c
index 996f7eb..32de50d 100644
--- a/src/GetAtomNm.c
+++ b/src/GetAtomNm.c
@@ -46,7 +46,7 @@ char *_XGetAtomName(
 	for (idx = TABLESIZE; --idx >= 0; ) {
 	    if ((e = *table++) && (e->atom == atom)) {
 		idx = strlen(EntryName(e)) + 1;
-		if ((name = (char *)Xmalloc(idx)))
+		if ((name = Xmalloc(idx)))
 		    strcpy(name, EntryName(e));
 		return name;
 	    }
@@ -73,7 +73,7 @@ char *XGetAtomName(
 	SyncHandle();
 	return(NULL);
     }
-    if ((name = (char *) Xmalloc(rep.nameLength+1))) {
+    if ((name = Xmalloc(rep.nameLength + 1))) {
 	_XReadPad(dpy, name, (long)rep.nameLength);
 	name[rep.nameLength] = '\0';
 	_XUpdateAtomCache(dpy, name, atom, 0, -1, 0);
@@ -124,7 +124,7 @@ Bool _XGetAtomNameHandler(
 	_XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len,
 			(SIZEOF(xGetAtomNameReply) - SIZEOF(xReply)) >> 2,
 			False);
-    state->names[state->idx] = (char *) Xmalloc(repl->nameLength+1);
+    state->names[state->idx] = Xmalloc(repl->nameLength + 1);
     _XGetAsyncData(dpy, state->names[state->idx], buf, len,
 		   SIZEOF(xGetAtomNameReply), repl->nameLength,
 		   repl->length << 2);
@@ -170,7 +170,7 @@ XGetAtomNames (
     }
     if (missed >= 0) {
 	if (_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
-	    if ((names_return[missed] = (char *) Xmalloc(rep.nameLength+1))) {
+	    if ((names_return[missed] = Xmalloc(rep.nameLength + 1))) {
 		_XReadPad(dpy, names_return[missed], (long)rep.nameLength);
 		names_return[missed][rep.nameLength] = '\0';
 		_XUpdateAtomCache(dpy, names_return[missed], atoms[missed],
diff --git a/src/GetHints.c b/src/GetHints.c
index 4800fe7..3c410d3 100644
--- a/src/GetHints.c
+++ b/src/GetHints.c
@@ -128,7 +128,7 @@ XWMHints *XGetWMHints (
                 return(NULL);
 		}
 	/* static copies not allowed in library, due to reentrancy constraint*/
-	if ((hints = (XWMHints *) Xcalloc (1, (unsigned) sizeof(XWMHints)))) {
+	if ((hints = Xcalloc (1, sizeof(XWMHints)))) {
 	    hints->flags = prop->flags;


Reply to: