aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
Commit message (Collapse)AuthorAgeFilesLines
* Plug a memory leakEmilio Pozuelo Monfort2016-10-271-0/+2
| | | | | | | | This was introduced in 8ea762f. Reported-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* sendexev.c: Fix return of unitialized variableUlrich Sibiller2016-10-201-3/+7
| | | | | Well, kinda fix. Upstream handles that differently here, we need a thorough check! Add another FIXME comment because of this.
* xfixes: Remove unused variable.Cyril Brulebois2016-10-201-2/+0
| | | | | | | | | The last use of pScreen in ProcXFixesSetPictureClipRegion was removed in aa7096ca6f108e399d9916639cf20c57f9776305 so remove it entirely. Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by: Cyril Brulebois <kibi@debian.org> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Remove useless line of code that contained a bug and triggered a gcc ↵Benjamin Herrenschmidt2016-10-201-2/+0
| | | | warning. This variable will be overriden before being used anyway. (Bugzilla #5595)
* dix: fix cast from pointer to integerJulien Cristau2016-10-201-1/+1
|
* dbe: Call to DDX SwapBuffers requires address of int, not unsigned int ↵Keith Packard2016-10-201-3/+4
| | | | | | | | | | | | | | | | | | [CVE-2014-8097 pt. 2] When the local types used to walk the DBE request were changed, this changed the type of the parameter passed to the DDX SwapBuffers API, but there wasn't a matching change in the API definition. At this point, with the API frozen, I just stuck a new variable in with the correct type. Because we've already bounds-checked nStuff to be smaller than UINT32_MAX / sizeof(DbeSwapInfoRec), we know it will fit in a signed int without overflow. Signed-off-by: Keith Packard <keithp@keithp.com Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* LRGB.c: Fix label defined but not usedUlrich Sibiller2016-10-201-3/+0
| | | | | | | LRGB.c: In function ‘LINEAR_RGB_InitSCCData’: LRGB.c:798:1: warning: label ‘FreeBlueTblElements’ defined but not used [-Wunused-label] FreeBlueTblElements: ^
* Fixes: warning: variable 'req' set but not,usedwalter harms2016-10-2017-18/+18
| | | | | | | | | | Fixes: warning: variable 'req' set but not used [-Wunused-but-set-variable] by marking req _X_UNUSED Solution was discussed on xorg-devel ML Peter Hutter, Alan Coopersmith Re: [PATCH libX11 3/5] fix: warning: pointer targets in passing argument 2 of '_XSend' differ in signedness [-Wpointer-sign] Signed-off-by: harms wharms@bfs.de
* fix: warning: pointer targets in passing argument 2 of '_XSend' differ in ↵walter harms2016-10-201-2/+2
| | | | | | | signedness [-Wpointer-sign] fix signess warning by casting Signed-off-by: walter harms <wharms@bfs.de>
* no need to check args for Xfree()walter harms2016-10-201-41/+33
| | | | | | simplify code Signed-off-by: walter harms <wharms@bfs.de>
* remove stray externwalter harms2016-10-201-1/+1
| | | | | | remove stray extern Signed-off-by: walter harms <wharms@bfs.de>
* Fix warnings in XlibInt.cUlrich Sibiller2016-10-202-0/+7
| | | | | | | | | | | | XlibInt.c: In function ‘_XIOError’: XlibInt.c:3750:1: warning: ‘noreturn’ function does return [enabled by default] } After fixing the above a new warning came up, which is also fixed now: XlibInt.c: In function ‘_XIOError’: XlibInt.c:3750:1: warning: control reaches end of non-void function [-Wreturn-type] }
* xkb.c: fix 'assignment makes integer from pointer without a cast'Ulrich Sibiller2016-10-201-1/+1
| | | | | | xkb.c: In function ‘_GetCountedString’: xkb.c:4405:8: warning: assignment makes integer from pointer without a cast [enabled by default] len= (CARD16 *)wire;
* xkmread.c: use _X_UNUSED to avoid compiler warning when result is not neededUlrich Sibiller2016-10-201-4/+7
|
* xcmisc.c: remove HAVE_STDINTUlrich Sibiller2016-10-201-4/+0
| | | | | This eliminates a warning since we do not have this define in our build environment.
* security.c: fix compiler warningsUlrich Sibiller2016-10-201-2/+1
|
* Window.c: Fix function assignment warningUlrich Sibiller2016-10-201-1/+1
| | | | | | Window.c: In function ‘nxagentFrameBufferPaintWindow’: Window.c:1968:31: warning: ISO C forbids assignment between function pointer and ‘void *’ [-Wpedantic] PaintWindowBackgroundBackup = pWin->drawable.pScreen -> PaintWindowBackground;
* Display.c: remove unused variableUlrich Sibiller2016-10-201-2/+0
| | | | | | | Display.c: In function ‘nxagentCheckForPixmapFormatsCompatibility’: Display.c:2471:8: warning: variable ‘one_match’ set but not used [-Wunused-but-set-variable] bool one_match = false; ^
* Colormap.c: add cast to avoid warningUlrich Sibiller2016-10-201-1/+1
| | | | | | | Colormap.c: In function ‘nxagentSetInstalledColormapWindows’: Colormap.c:314:27: warning: format ‘%p’ expects argument of type ‘void *’, but argument 3 has type ‘WindowPtr’ [-Wformat=] pWin, pWin -> drawable.class); ^
* Args.c: fix string format warningUlrich Sibiller2016-10-201-2/+2
| | | | warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long int’ [-Wformat=]
* imLcIm.c: Fix unused variablesUlrich Sibiller2016-10-201-3/+4
| | | | | | | | | imLcIm.c: In function ‘_XimCreateDefaultTree’: imLcIm.c:525:11: warning: unused variable ‘cachedir’ [-Wunused-variable] char *cachedir = NULL; ^ imLcIm.c:521:35: warning: variable ‘intname’ set but not used [-Wunused-but-set-variable] char *name, *tmpname = NULL, *intname;
* Pending.c: Fix compilation warningUlrich Sibiller2016-10-201-2/+2
| | | | | | | Pending.c: In function ‘XEventsQueued’: Pending.c:44:5: warning: format ‘%p’ expects argument of type ‘void *’, but argument 3 has type ‘struct Display *’ [-Wformat=] fprintf(stderr, "\nXEventsQueued: Called with a display at [%p].\n", dpy); ^
* Fix libX11 implicit declaration warningsUlrich Sibiller2016-10-201-2/+2
| | | | | | | | all _X11Trans* functions lead to a warnign like this: implicit declaration of function ‘_X11TransOpenCOTSClient’ [-Wimplicit-function-declaration] Fix it by partly reverting d3ae0b2c9559e70448746240caaf5634c78d0eef (which removed too much)
* Drop nx-X11/lib/X11/libX11.elist. Not needed for anything nowadays. Probably ↵Mike Gabriel2016-10-201-41/+0
| | | | never was needed in nx-X11.
* Validation of server responses in XGetImage()Tobias Stoeckmann2016-10-191-9/+20
| | | | | | | | | | Check if enough bytes were received for specified image type and geometry. Otherwise GetPixel and other functions could trigger an out of boundary read later on. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* The validation of server responses avoids out of boundary accesses.Tobias Stoeckmann2016-10-193-11/+27
| | | | | | | | | v2: FontNames.c return a NULL list whenever a single length field from the server is incohent. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> Reviewed-by: Matthieu Herrb <matthieu@herrb.eu> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* xcms: use size_t for pointer offsets passed to strncmpAlan Coopersmith2016-10-195-10/+10
| | | | | | | | | | | | | instead of converting to int and back Fixes clang warnings of the form: HVC.c:190:43: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion] if (strncmp(spec, _XcmsTekHVC_prefix, n) != 0) { ~~~~~~~ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* xcms: use unsigned indexes when looping through unsigned valuesAlan Coopersmith2016-10-196-11/+11
| | | | | | | | | | | | | Clears many gcc warnings of the form: uvY.c: In function ‘XcmsCIEuvYToCIEXYZ’: uvY.c:263:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < nColors; i++, pColor++) { ^ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* xcms: use size_t for strlen/sizeof values instead of converting to int & backAlan Coopersmith2016-10-192-2/+2
| | | | | | | | | | | | | | | | | | | | | Fixes gcc warnings of the form: IdOfPr.c: In function ‘XcmsFormatOfPrefix’: IdOfPr.c:69:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((len = strlen(prefix)) >= sizeof(string_buf)) { ^ IdOfPr.c:83:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (len >= sizeof(string_buf)) Xfree(string_lowered); ^ IdOfPr.c:97:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (len >= sizeof(string_buf)) Xfree(string_lowered); ^ IdOfPr.c:104:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (len >= sizeof(string_buf)) Xfree(string_lowered); ^ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Xlib.h: Fix macros imitating C functions.Dominik Muth2016-10-191-17/+17
| | | | | | | | | | | | | | | | | | The basic rule "put parantheses around macro parameters" should be observed where possible. Otherwise code like ConnectionNumber(foo = bar); fails to compile. (It obviously passes if ConnectionNumber is a C function.) There are several other macros amended for the same reason. This bug appeared while building http://ioccc.org/1993/cmills.c, so historically it was not present. Signed-off-by: Dominik Muth <muth@nxdomain.no-ip.biz> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XKB: fix XkbGetKeyboardByName with Xming serverOlivier Fourdan2016-10-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | XkbGetKeyboardByName relies on flags to read the data from the server. If the X server sends us the wrong flags or if a subreply is smaller than it should be, XkbGetKeyboardByName will not read all the available data and leave data in the buffer, which will cause the next _XReply() to fail with: [xcb] Extra reply data still left in queue [xcb] This is most likely caused by a broken X extension library [xcb] Aborting, sorry about that. xcb_io.c:576: _XReply: Assertion `!xcb_xlib_extra_reply_data_left' failed. Aborted Check if there is some extra data left at the end of XkbGetKeyboardByName() and discard that data if any is found. Many thanks to Peter Hutterer <peter.hutterer@who-t.net> for finding the root cause of the issue and Adam Jackson <ajax@redhat.com> for helping with the analysis! Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* lcPubWrap: replace malloc(strlen) + strcpy with strdupAlan Coopersmith2016-10-191-2/+1
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XlcDL.c: reduce code duplicationAlan Coopersmith2016-10-191-12/+10
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XlcDL.c: replace strcpy+strcat sequences with snprintfAlan Coopersmith2016-10-191-6/+8
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XDefaultOMIF: Remove comments referring to ancient Sun bug idsAlan Coopersmith2016-10-191-14/+1
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XDefaultOMIF: additional code simplificationAlan Coopersmith2016-10-191-32/+11
| | | | | | | | | | | Don't need to test for a case that we already returned for, don't need to store a count that will only ever be 1 if we didn't return, don't need to increment pointers to allow storing more than one item when we can only ever possibly do one. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* XDefaultOMIF: replace strlen+Xmalloc+strcpy with strdupAlan Coopersmith2016-10-191-15/+8
| | | | | | | | | Code seems to have been originally written to handle appending multiple strings, but only ever operates on a single string. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Use strdup instead of Xmalloc+strcpy in _XDefaultOpenIMAlan Coopersmith2016-10-191-2/+1
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Delete #if 0 hunks of codeAlan Coopersmith2016-10-194-152/+0
| | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Bug 93183: _XDefaultOpenIM memory leaks in out-of-memory error pathsAlan Coopersmith2016-10-191-33/+25
| | | | | | | | | | | Rework code to store allocations directly into XIM struct instead of temporary local variables, so we can use _XCloseIM to unwind instead of duplicating it, and consistently jump to error handler on failure, instead of sometimes leaking and sometimes freeing. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93183 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Bug 93184: read_EncodingInfo invalid freeAlan Coopersmith2016-10-191-3/+4
| | | | | | | | Free the correct bits of memory if we run out and need to unwind Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93184 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Remove unused definition of XCONN_CHECK_FREQAlan Coopersmith2016-10-191-8/+0
| | | | | | | | | The only use of XCONN_CHECK_FREQ was removed in commit 15e5eaf62897b3179 when we dropped the old Xlib connection handling in favor of xcb's. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Get rid of some extraneous ; at the end of C source linesAlan Coopersmith2016-10-193-3/+3
| | | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Thomas Klausner <wiz@NetBSD.org> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Do not return() after exit().Thomas Klausner2016-10-191-2/+2
| | | | | | Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Add missing NULL checks to ICWrapRoss Burton2016-10-191-6/+9
| | | | | | | | | | | | | | ICWrap.c dereferences the xim parameter passed in from client code without a NULL check. I have seen mplayer trigger this resulting in a segfault. In this case mplayer had called XOpenIM and NULL was returned which was later passed into XCreateIC. Patch originally by Drew Moseley <drew_moseley@mentor.com>. Signed-off-by: Ross Burton <ross.burton@intel.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Replace Xmalloc+memset pairs with Xcalloc callsAlan Coopersmith2016-10-193-19/+10
| | | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* omGeneric.c: Correct the parameter usage of sizeofBhavi Dhingra2016-10-191-1/+1
| | | | | | | | | | Incorrect parameter usage with sizeof. Earlier passed argument FontData will be 4 bytes always as its a pointer hence the change is needed and FontDataRec should be used for memset. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Fix three "use of uninitialized variable" coverity warningsPeter Hutterer2016-10-193-3/+3
| | | | | | | | | | False positive, if rlen/nbytes are unset we quit early before using it. Still, initialize it so we don't have to deal with these warnings again. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Fix potential memory leakPeter Hutterer2016-10-191-2/+2
| | | | | | | | | | | If we hit the depth limit, filename leaks. Move the depth check up before we allocate filename. Introduced in 226622349a4b1e16064649d4444a34fb4be4f464. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* compose: fix the description of modifiers in compose sequencesRan Benita2016-10-191-2/+3
| | | | | | | | | | | | | | | | | | The Compose format has a feature which allows specifying certain modifiers must (or must not) be present with a given keysym in the sequence. The grammar in imLcPrs.c and the Compose man page both do not match what the code actually does (see the handling of the variables `modifier_mask` and `modifier` in parseline() in imLcPrs.c, which are eventually matched as `ev->state & modifier_mask == modifier`). Also explicitly list the accepted modifier names, since they are not standard (e.g. "Ctrl" instead of "Control"). Signed-off-by: Ran Benita <ran234@gmail.com> Signed-off-by: James Cloos <cloos@jhcloos.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>