From df0fea79bf58b8b1106cd42b90af42ef4aaed52e Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 13 Dec 2016 01:56:10 +0100 Subject: Args.c: Fix missing parentheses --- nx-X11/programs/Xserver/hw/nxagent/Args.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c index a6c21503a..2bc12a3b4 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Args.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c @@ -1235,9 +1235,11 @@ static void nxagentParseOptions(char *name, char *value) return; #else if (PANORAMIX_DISABLED_COND && RRXINERAMA_DISABLED_COND) + { nxagentChangeOption(Xinerama, 0); fprintf(stderr, "Warning: XINERAMA extension has been disabled on %s startup.\n", __progname); return; + } if (!strcmp(value, "1")) { -- cgit v1.2.3 From fcb5e8a0e5f39351d66061ab4048edd6a5a58ea8 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 13 Dec 2016 01:56:57 +0100 Subject: Rootless.c: Fix wrongly negated comparisons --- nx-X11/programs/Xserver/hw/nxagent/Rootless.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c index 68c6890d8..34902456d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c @@ -965,7 +965,7 @@ void nxagentImportProperty(Window window, } } - if ((wmHints.flags & IconWindowHint) && (wmHints.icon_window =! None)) + if ((wmHints.flags & IconWindowHint) && (wmHints.icon_window != None)) { WindowPtr icon = nxagentWindowPtr(wmHints.icon_window); @@ -986,7 +986,7 @@ void nxagentImportProperty(Window window, } } - if ((wmHints.flags & IconMaskHint) && (wmHints.icon_mask =! None)) + if ((wmHints.flags & IconMaskHint) && (wmHints.icon_mask != None)) { PixmapPtr icon = nxagentPixmapPtr(wmHints.icon_mask); -- cgit v1.2.3 From 4a1095fffb03396fc7eec5a11bc9139ebc831cb6 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 13 Dec 2016 02:00:40 +0100 Subject: Keyboard.c: Simplify if clause --- nx-X11/programs/Xserver/hw/nxagent/Keyboard.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c index 88af5d400..208ae0653 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c @@ -997,8 +997,7 @@ XkbError: XkbInitKeyboardDeviceStruct((void *)pDev, &names, &keySyms, modmap, nxagentBell, nxagentChangeKeyboardControl); - if (!nxagentKeyboard || - (nxagentKeyboard && (strcmp(nxagentKeyboard, "query") == 0))) + if (!nxagentKeyboard || strcmp(nxagentKeyboard, "query") == 0) { goto XkbError; } @@ -1083,8 +1082,7 @@ XkbError: free(nxagentXkbConfigFilePath); - if (!nxagentKeyboard || - (nxagentKeyboard && (strcmp(nxagentKeyboard, "query") == 0))) + if (!nxagentKeyboard || strcmp(nxagentKeyboard, "query") == 0) { goto XkbError; } -- cgit v1.2.3 From 35e41467a2ef4c2ddd4b545c2d68abf47278aa1e Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 13 Dec 2016 02:02:29 +0100 Subject: Window.c: Fix reference before check for null pointer --- nx-X11/programs/Xserver/hw/nxagent/Window.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c index 982c88314..23e1d5452 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Window.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c @@ -3122,10 +3122,14 @@ static void nxagentReconfigureWindowCursor(void * param0, XID param1, void * dat WindowPtr pWin = (WindowPtr)param0; Bool *pBool = (Bool*)data_buffer; CursorPtr pCursor; - ScreenPtr pScreen = pWin -> drawable.pScreen; + ScreenPtr pScreen; - if (!pWin || !*pBool || !(pCursor = wCursor(pWin)) || - !(nxagentCursorPriv(pCursor, pScreen))) + if (!pWin || !*pBool || !(pCursor = wCursor(pWin))) + return; + + pScreen = pWin -> drawable.pScreen; + + if (!(nxagentCursorPriv(pCursor, pScreen))) { return; } -- cgit v1.2.3 From 1b6b76b5bfb849586c73a9601a05eda39ca87ada Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Tue, 13 Dec 2016 10:05:40 +0100 Subject: Display.c: pid is always 0, remove check --- nx-X11/programs/Xserver/hw/nxagent/Display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c index 85683503b..f4fc19578 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Display.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c @@ -407,7 +407,7 @@ static void nxagentSigchldHandler(int signal) * Leave the other children unaffected. */ - if (pid == 0 && nxagentRootlessDialogPid) + if (nxagentRootlessDialogPid) { pid = waitpid(nxagentRootlessDialogPid, &status, options); -- cgit v1.2.3 From 4e545710f9c4d14ed8188e4f89b8d9c2da7975ef Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 14 Dec 2016 11:49:40 +0100 Subject: Rootless.c: fix possible memleak --- nx-X11/programs/Xserver/hw/nxagent/Rootless.c | 1 + 1 file changed, 1 insertion(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c index 34902456d..64ad83bba 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c @@ -334,6 +334,7 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) if (!ntoplevel) { + free(toplevel); return; } -- cgit v1.2.3 From a83022a4a97b12904cf5d79f399336fff2d30e43 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 14 Dec 2016 11:50:21 +0100 Subject: Rootless.c: improve malloc failure handling --- nx-X11/programs/Xserver/hw/nxagent/Rootless.c | 36 +++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c index 64ad83bba..7862a5557 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c @@ -315,6 +315,13 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) Mask mask; toplevel = malloc(sizeof(WindowPtr) * nchildren); + + if (!toplevel) + { + /* FIXME: Is this too much and we and simply return here? */ + FatalError("nxagentRootlessRestack: malloc() failed."); + } + ntoplevel = 0; for(i = 0; i < nchildren; i++) @@ -497,6 +504,7 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) #ifdef _XSERVER64 else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0) { + /* FIXME: is it okay here to ignore malloc fails? */ unsigned long *buffer = malloc(nUnits * sizeof(*buffer)); int *input = value; int i; @@ -640,6 +648,14 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) int i; int j = 0; + if (!atoms) + { + #ifdef WARNING + fprintf(stderr, "nxagentExportProperty: WARNING! malloc() failed for '%s'- bailing out.\n", typeS); + #endif + return False; + } + freeMem = True; export = True; output = (char *) atoms; @@ -690,6 +706,14 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) WindowPtr pWindow; int i; + if (!wind) + { + #ifdef WARNING + fprintf(stderr, "nxagentExportProperty: WARNING! malloc() failed for '%s' - bailing out.\n", typeS); + #endif + return False; + } + freeMem = True; export = True; output = (char*) wind; @@ -1037,7 +1061,7 @@ void nxagentImportProperty(Window window, if (atoms == NULL) { #ifdef WARNING - fprintf(stderr, "nxagentImportProperty: WARNING! Malloc failed bailing out.\n"); + fprintf(stderr, "nxagentImportProperty: WARNING! malloc() failed for '%s' - bailing out.\n", typeS); #endif return; @@ -1067,6 +1091,14 @@ void nxagentImportProperty(Window window, WindowPtr pWindow; int i; + if (!wind) + { + #ifdef WARNING + fprintf(stderr, "nxagentImportProperty: WARNING! malloc() failed for '%s' - bailing out.\n", typeS); + #endif + + return; + } freeMem = True; import = True; output = (char*) wind; @@ -1185,7 +1217,7 @@ void nxagentAddPropertyToList(Atom property, WindowPtr pWin) if ((tmp = malloc(sizeof(struct nxagentPropertyRec))) == NULL) { - FatalError("nxagentAddPropertyToList: malloc failed."); + FatalError("nxagentAddPropertyToList: malloc() failed."); } #ifdef TEST -- cgit v1.2.3 From 2a6fcfc142d609339bdeb836b7e3be525967a5f8 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Wed, 14 Dec 2016 11:50:47 +0100 Subject: Rootless.c: improve debugging output --- nx-X11/programs/Xserver/hw/nxagent/Rootless.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c index 7862a5557..f42f9d99d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c @@ -351,14 +351,14 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) for (i = 0; i < ntoplevel; i++) { - fprintf(stderr, "[%p]\n", toplevel[i]); + fprintf(stderr, "nxagentRootlessRestack: [%p]\n", toplevel[i]); } fprintf(stderr, "nxagentRootlessRestack: Internal top level windows before restack:"); for (pWin = screenInfo.screens[0]->root -> firstChild; pWin != NULL; pWin = pWin -> nextSib) { - fprintf(stderr, "[%p]\n", pWin); + fprintf(stderr, "nxagentRootlessRestack: [%p]\n", pWin); } #endif @@ -394,14 +394,14 @@ void nxagentRootlessRestack(unsigned long children[], unsigned int nchildren) for (i = 0; i < ntoplevel; i++) { - fprintf(stderr, "[%p]\n", toplevel[i]); + fprintf(stderr, "nxagentRootlessRestack: [%p]\n", toplevel[i]); } fprintf(stderr, "nxagentRootlessRestack: Internal top level windows after restack:"); for (pWin = screenInfo.screens[0]->root -> firstChild; pWin != NULL; pWin = pWin -> nextSib) { - fprintf(stderr, "[%p]\n", pWin); + fprintf(stderr, "nxagentRootlessRestack: [%p]\n", pWin); } #endif -- cgit v1.2.3 From fe887d68aea4f7f8ae892a9e3fbbdfd80eae1357 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Fri, 3 Mar 2017 23:32:52 +0100 Subject: Display.c: remove unused logo code --- nx-X11/programs/Xserver/hw/nxagent/Display.c | 37 ---------------------------- 1 file changed, 37 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c index f4fc19578..599b335f6 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Display.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c @@ -169,7 +169,6 @@ Pixmap nxagentIconPixmap; Pixmap nxagentIconShape; Bool useXpmIcon = False; -unsigned int nxagentLogoColor(unsigned int value); Bool nxagentMakeIcon(Display *display, Pixmap *nxIcon, Pixmap *nxMask); @@ -184,13 +183,6 @@ static int nxagentCheckForPixmapFormatsCompatibility(void); static int nxagentInitAndCheckVisuals(int flexibility); static int nxagentCheckForColormapsCompatibility(int flexibility); -/* - * FIXME: These must definitely become local. - */ - -XVisualInfo pV; -unsigned int r, b, g, or, ob, og, off; - /* * Save Internal implementation Also called in Reconnect.c. */ @@ -217,23 +209,6 @@ int nxagentServerOrder() return MSBFirst; } -unsigned int nxagentLogoColor(unsigned int value) -{ - /* - * Takes a color value in RGB24 (0xff0000, 0x00ff00, - * 0x0000ff) and converts it into an equivalent for - * the current visual. - */ - - int cr=0, cg=0, cb=0; - - cr = (value >> or) &r; - cg = (value >> (og - 8)) &g; - cb = (value >> (ob - 16)) &b; - - return (cr | cg | cb); -} - /* * FIXME: This error handler is not printing anything * in the session log. This is OK once the session is @@ -1412,12 +1387,6 @@ FIXME: Use of nxagentParentWindow is strongly deprecated. DefaultScreen(nxagentDisplay) ); - pV = nxagentVisuals[nxagentDefaultVisualIndex]; - - r = pV.red_mask; - g = pV.green_mask; - b = pV.blue_mask; - nxagentLogoBlack = 0x000000; nxagentLogoRed = 0xff0000; nxagentLogoWhite = 0xffffff; @@ -2880,12 +2849,6 @@ Bool nxagentReconnectDisplay(void *p0) nxagentLogoDepth = DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay)); - pV = nxagentVisuals[nxagentDefaultVisualIndex]; - - r = pV.red_mask; - g = pV.green_mask; - b = pV.blue_mask; - nxagentLogoBlack = 0x000000; nxagentLogoRed = 0xff0000; nxagentLogoWhite = 0xffffff; -- cgit v1.2.3