Age | Commit message (Collapse) | Author |
|
XkbAtomGetString is a wrapper around XGetAtomName, and like XGetAtomName
returns a newly allocated string (or NULL) on every call, so we should
free those strings when done instead of leaking them.
Reported by Oracle Parfait static analyser:
Error: Memory leak
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(state->dpy, state->geom->name)
at line 720 of app/xkbprint/psgeom.c in function 'PSProlog'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 612 of app/xkbprint/psgeom.c in function 'PSProlog' with XkbAtomGetString(state->dpy, state->geom->name)
pointer leaks when (i + 1) >= state->geom->num_colors at line 694
and (i + 1) >= state->geom->num_shapes at line 712.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(state->dpy, state->geom->name)
at line 720 of app/xkbprint/psgeom.c in function 'PSProlog'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 657 of app/xkbprint/psgeom.c in function 'PSProlog' with XkbAtomGetString(state->dpy, state->geom->name)
pointer leaks when (i + 1) >= state->geom->num_colors at line 694
and (i + 1) >= state->geom->num_shapes at line 712.
Error: Memory leak
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer name allocated with XkbAtomGetString(state->dpy, geom->name)
at line 962 of app/xkbprint/psgeom.c in function 'PSPageTrailer'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
name allocated at line 845 of app/xkbprint/psgeom.c in function 'PSPageTrailer' with XkbAtomGetString(state->dpy, geom->name)
name leaks when (p + 1) >= state->args->copies at line 926.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer sName allocated with XkbAtomGetString(state->dpy, sAtom)
at line 962 of app/xkbprint/psgeom.c in function 'PSPageTrailer'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
sName allocated at line 877 of app/xkbprint/psgeom.c in function 'PSPageTrailer' with XkbAtomGetString(state->dpy, sAtom)
sName leaks when (p + 1) >= state->args->copies at line 926.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer sName allocated with XkbAtomGetString(state->dpy, sAtom)
at line 962 of app/xkbprint/psgeom.c in function 'PSPageTrailer'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
sName allocated at line 910 of app/xkbprint/psgeom.c in function 'PSPageTrailer' with XkbAtomGetString(state->dpy, sAtom)
sName leaks when (p + 1) >= state->args->copies at line 926.
Error: Memory leak
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer dname allocated with XkbAtomGetString(xkb->dpy, doodad.any.name)
at line 1068 of app/xkbprint/psgeom.c in function 'PSDoodad'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
dname allocated at line 974 of app/xkbprint/psgeom.c in function 'PSDoodad' with XkbAtomGetString(xkb->dpy, doodad.any.name)
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer name allocated with XkbAtomGetString(...)
at line 1068 of app/xkbprint/psgeom.c in function 'PSDoodad'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
name allocated at line 980 of app/xkbprint/psgeom.c in function 'PSDoodad' with XkbAtomGetString(...)
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer name allocated with XkbAtomGetString(...)
at line 1068 of app/xkbprint/psgeom.c in function 'PSDoodad'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
name allocated at line 1044 of app/xkbprint/psgeom.c in function 'PSDoodad' with XkbAtomGetString(...)
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer name allocated with XkbAtomGetString(...)
at line 1068 of app/xkbprint/psgeom.c in function 'PSDoodad'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
name allocated at line 1058 of app/xkbprint/psgeom.c in function 'PSDoodad' with XkbAtomGetString(...)
Error: Memory leak
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(dpy, section->name)
at line 2063 of app/xkbprint/psgeom.c in function 'PSSection'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 1907 of app/xkbprint/psgeom.c in function 'PSSection' with XkbAtomGetString(dpy, section->name)
pointer leaks when (k + 1) >= (section->rows + <pointer arithmetic>)->num_keys at line 1936
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(dpy, shape->name)
at line 2063 of app/xkbprint/psgeom.c in function 'PSSection'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 1945 of app/xkbprint/psgeom.c in function 'PSSection' with XkbAtomGetString(dpy, shape->name)
pointer leaks when (k + 1) >= (section->rows + <pointer arithmetic>)->num_keys at line 1936
and (r + 1) >= section->num_rows at line 1925.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(dpy, shape->name)
at line 2063 of app/xkbprint/psgeom.c in function 'PSSection'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 1951 of app/xkbprint/psgeom.c in function 'PSSection' with XkbAtomGetString(dpy, shape->name)
pointer leaks when (k + 1) >= (section->rows + <pointer arithmetic>)->num_keys at line 1936
and (r + 1) >= section->num_rows at line 1925.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(dpy, shape->name)
at line 2063 of app/xkbprint/psgeom.c in function 'PSSection'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 1960 of app/xkbprint/psgeom.c in function 'PSSection' with XkbAtomGetString(dpy, shape->name)
pointer leaks when (k + 1) >= (section->rows + <pointer arithmetic>)->num_keys at line 1936
and (r + 1) >= section->num_rows at line 1925.
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer pointer allocated with XkbAtomGetString(dpy, shape->name)
at line 2063 of app/xkbprint/psgeom.c in function 'PSSection'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
pointer allocated at line 1966 of app/xkbprint/psgeom.c in function 'PSSection' with XkbAtomGetString(dpy, shape->name)
pointer leaks when (k + 1) >= (section->rows + <pointer arithmetic>)->num_keys at line 1936
and (r + 1) >= section->num_rows at line 1925.
Error: Memory leak
Memory leak [memory-leak] (CWE 401):
Memory leak of pointer name allocated with XkbAtomGetString(...)
at line 2131 of app/xkbprint/psgeom.c in function 'GeometryToPostScript'.
Allocated value returned to caller at line 207 of lib/libxkbfile/src/xkbatom.c in function 'XkbAtomGetString'
name allocated at line 2110 of app/xkbprint/psgeom.c in function 'GeometryToPostScript' with XkbAtomGetString(...)
name leaks when name != NULL at line 2111.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
psgeom.c:1320:17: warning: implicit conversion changes signedness:
'int' to 'unsigned long' [-Wsign-conversion]
if ((sym & (~0xff)) == 0x700) {
~ ^~~~~
psgeom.c:1666:31: warning: implicit conversion changes signedness:
'int' to 'unsigned long' [-Wsign-conversion]
else if (((sym & (~0xff)) == 0) && isprint(sym) && (!isspace(sym))) {
~ ^~~~~
psgeom.c:1860:27: warning: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int len = strlen(top->label[i]);
~~~ ^~~~~~~~~~~~~~~~~~~~~
xkbprint.c:460:19: warning: implicit conversion loses integer precision:
'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int len = strlen(inputFile);
~~~ ^~~~~~~~~~~~~~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Helps both human readers and static code analyzers realize they're not
used outside these scopes.
Flagged by cppcheck 1.64:
[psgeom.c:1761]: (style) The scope of the variable 'keycode' can be reduced.
[psgeom.c:1858]: (style) The scope of the variable 'len' can be reduced.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Packs more efficiently in binary, reduces number of calls to output,
gets rid of ~4k array of pointers to each string in data segment to
initialize on program load.
"xkbprint -if IsoKeyCaps" generates identical IsoKeyCaps.pfa files
before & after this change.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Both were in use in different functions, adopt the ANSI C standard
function for all calls.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Includes fallback uAsprintf() for systems without asprintf yet
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
strdup is available in Unix98 and later, so part of the X.Org base
platform requirements.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Via util/modular/x-indent-all.sh
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
Use constant octals instead of constant characters in switch case values
to avoid warnings/problems if constant characters are signed.
Ansify some functions in utils.c.
Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de>
|
|
http://bugs.freedesktop.org/show_bug.cgi?id=12790
https://bugs.freedesktop.org/attachment.cgi?id=12008
Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|