summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-07-16fix const-warnings in grammar using a non-const initializerThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-16constify deftwmrc[], to fix gcc-stricter warningsThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-16gcc-stricter warnings, no object changeThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-15fix gcc-normal compiler warnings, no object changeThomas E. Dickey
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-07-15issue 7: check if there are no fonts found for the fontset, and fallback to ↵Thomas E. Dickey
fixed in that case. Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
2019-05-31Make some char pointers const as necessary to clear some gcc warningsAlan Coopersmith
twm.c:544:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] Scr->iconmgr.name = "TWM"; ^ twm.c:545:25: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] Scr->iconmgr.icon_name = "Icons"; Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-03-03Read system.twmrc from where it got installedBryan Kadzban
${rcdir} is ${datadir}/X11/twm by default, but can be overridden when running make. If it is overridden, then the code should read from the same place as where "make rcdir=FOO install" puts the file. (Obviously overriding rcdir= for "make install" requires overriding it for "make" as well. But at least this way it's possible to get it to work. :-) ) Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-09-30If we can't find a colormap to replace, insert new one instead of leaking itAlan Coopersmith
Found by Oracle's Parfait 2.2 static analyzer: Error: Memory leak Memory leak [memory-leak] (CWE 401): Memory leak of pointer sc allocated with malloc(32) at line 421 of src/util.c in function 'InsertRGBColormap'. sc allocated at line 397 with malloc(32) sc leaks when replace != 0 at line 405. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-09-30When replacing a colormap, free old map, not new oneAlan Coopersmith
Found by Oracle's Parfait 2.2 static analyzer: Error: Use after free Use after free [use-after-free] (CWE 416): Use after free of pointer Scr at line 421 of src/util.c in function 'InsertRGBColormap'. Invalid pointer accessible via global Scr at line 105 of src/twm.c maps escapes to sc->maps at line 419 of src/util.c in function 'InsertRGBColormap' maps freed with XFree at line 406 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2015-09-28Adapt callers to ExpandFilename change.Thomas Klausner
It now always allocates memory, so remove some unnecessary checks. While here, improve handling of an error case. Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2015-09-28Add some const.Christos Zoulas
Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2015-07-19Do not try to extend the font-pattern with a wild-card.Michael van Elst
This will almost always select the wrong fontset and use wrong metrics. Signed-off-by: Thomas Klausner <wiz@NetBSD.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-12-31Remove custom version of system(3c) for SolarisAlan Coopersmith
Was originally added in 1993 with the comment: make f.exec do the right thing to get working xterms under Solaris2. Doesn't seem to be needed any more on modern Solaris. As a bonus, gets rid of error found by Oracle Parfait 1.5.1 that if the execl() call fails, the function falls through and returns an uninitialized value for status and then both parent & child go back to running the same code. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2014-12-31Only use results from GetWindowProperty if it returned successAlan Coopersmith
Since Xlib prior to 1.6 didn't always clear values on failure, don't assume they're safe to use unless we succeeded. Reported by Oracle Parfait 1.5.1: Error: Uninitialised memory (CWE 456) Possible access to uninitialised memory '&nPixels' at line 963 of src/parse.c in function 'put_pixel_on_root'. &nPixels allocated at line 953. Possible access to uninitialised memory '&retProp' at line 962 of src/parse.c in function 'put_pixel_on_root'. &retProp allocated at line 954. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-08-18Replace malloc(strlen()+1); strcpy(); pairs with strdup()Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-08-18AddWindow: Use NULL instead of 0 for null pointer checkAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-08-18Stop casting return values from malloc & callocAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-08-18Stop casting pointers to (char *) when freeing themAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Delete trailing whitespace in non *.[ch] source filesAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Make more functions static that aren't called from other filesAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Assume C89 signal handlers, returning voidAlan Coopersmith
Removes old #ifdef SIGNALRETURNSINT check that was never defined in autoconf builds, only old Imake builds. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Make some more previously global variables into file-scoped staticsAlan Coopersmith
Not used from other source files, so no need to export them Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Remove unused global variable gotFirstSaveAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31unifdef macII - drop support for A/UX 2.0Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-31Make various helper & callback functions private to session.cAlan Coopersmith
Nothing else ever called them, so no reason to export them. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: <wharms@bfs.de>
2013-07-31Convert remaining K&R function declarations to C89 styleAlan Coopersmith
Many existing function declarations were C89, and headers all use C89 prototypes, but a few function declarations had been left in the old style. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: <wharms@bfs.de>
2013-07-31Use (void) to declare functions that take no arguments, instead of ()Alan Coopersmith
It's time for C89. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: <wharms@bfs.de>
2013-07-18Syntax error in recent twm commitColin Harrison
twm needs a typo/syntax correction following a recent commit. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2013-07-18Constification cleanup - fix dozens of gcc warningsAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2012-11-30Fix SEGV if CreateColormapWindow() returns NULL.Egbert Eich
twm can segfault when it cannot collect attribute information on a window that has been destroyed before it got a chance to collect it's attributes. twm seems to assume that it is always able to collect this information and disregards the error if the function that attempts to collect it fails and CreateColormapWindow() returns NULL. If this happens correct number_cmap_windows to prevent a SEGV later on due to an incorrect setting. Signed-off-by: Egbert Eich <eich@freedesktop.org>
2011-11-19Terminate execl() arguments with NULL instead of 0Alan Coopersmith
Makes sure that a full 64-bits of 0 is passed in 64-bit builds, and clears gcc warning of: menus.c: In function ‘System’: menus.c:2344:2: warning: missing sentinel in function call Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-07-14Whitespace fixes in src filesAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-07-12Replace most sprintf calls with snprintfAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-06-15config: layout the C flags for better readabilityGaetan Nadon
Group pre-processor flags under AM_CPPFLAGS Might as well do the rest of the file. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-06-15man: use Autoconf provided $(SED)Gaetan Nadon
Use platform appropriate version of sed. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-06-15config: rm is about removal, not generationGaetan Nadon
Automake: AM_V_at as a prefix to commands that should not output anything in silent mode Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-06-15deftwmrc.c is not required in MAINTAINERCLEANFILESGaetan Nadon
Automake takes care of that as it is part of BUILT_SOURCES Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-06-15lex & yacc: only header file needs to be in BUILT_SOURCESGaetan Nadon
http://www.gnu.org/software/automake/manual/automake.html#Yacc-and-Lex This completes reversal of commit ea03b6bcd1045dfc0d6947e4858de8994d61170b The Makefile generates a valid "gram.h: gram.c" rule. The Makefile already has gram.c gram.h and lex.c in the maintainer-clean-generic target. Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
2011-05-12Add extra sanity checking to avoid possible NULL dereferencesJeremy Huddleston
menus.c:569:10: warning: Access to field 'func' results in a dereference of a null pointer (loaded from variable 'ActiveItem') if (ActiveItem->func != F_TITLE && !ActiveItem->state) ^~~~~~~~~~ Found-by: clang static analyzer Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-05-12Add sanity checking to avoid a possible NULL dereferenceJeremy Huddleston
menus.c:934:26: warning: Access to field 'fore' results in a dereference of a null pointer (loaded from variable 'cur') cur->hi_back = cur->fore = f3.pixel; ~~~ ^ Found-by: clang static analyzer Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-05-12Address a possible NULL pointer dereferenceJeremy Huddleston
menus.c:523:24: warning: Access to field 'w' results in a dereference of a null pointer (loaded from variable 'ActiveMenu') if (XFindContext(dpy, ActiveMenu->w, ScreenContext, &context_data) == 0) ^~~~~~~~~~ Found-by: clang static analyzer Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-05-11Mark Done() as _X_NORETURNJeremy Huddleston
list.c:103:11: warning: Access to field 'next' results in a dereference of a null pointer (loaded from variable 'nptr') nptr->next = *list_head; ~~~~ ^ Found-by: clang static analyzer Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11Silence uninitialized warningJeremy Huddleston
session.c: In function 'ReadWinConfigFile': session.c:554: warning: 'version' may be used uninitialized in this function Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11LP64: Fix formatting for DEBUG printfJeremy Huddleston
add_window.c: In function 'AddWindow': add_window.c:169: warning: format '%x' expects type 'unsigned int', but argument 3 has type 'Window' Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-11Fix: menus.c:2374: warning: implicit declaration of function `putenv`Alan Coopersmith
Ensure _GNU_SOURCE is defined on Linux builds before including <stdlib.h> so the prototype is exposed in the header properly. https://bugs.freedesktop.org/show_bug.cgi?id=32696 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Julien Cristau <jcristau@debian.org>
2011-05-10Remove unused fallback implementation of putenv()Alan Coopersmith
NOPUTENV was never defined in a modular build, probably because putenv() is a standard function in Unix98 / SUSv2, and goes back to at least SVR2 and 4.3BSD-Reno. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Matthieu Herrb <matthieu.herrb@laas.fr> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
2011-01-05Fix many gcc strict-aliasing warningsAlan Coopersmith
menus.c:518: warning: dereferencing type-punned pointer will break strict-aliasing rules and many more of the same message at different lines Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-10-06Purge cvs tags.Jesse Adkins
Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
2010-09-22Silence build of deftwmrc.c with AM_V_GENAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-09-22system.twmrc doesn't need to be in both EXTRA_DIST & dist_rc_DATAAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>