| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
found by PVS Studio: "V522 There might be dereferencing of a potential
null pointer 'keymap'."
|
|
|
|
| |
Based on PVS Studio finding: "V547 Expression 'data' is always true."
|
| |
|
| |
|
|
|
|
| |
and add the missing init code.
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#935
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Error.c: In function ‘nxagentGetSessionPath’:
Error.c:543:62: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 253 [-Wformat-truncation=]
snprintf(nxagentSessionDir, DEFAULT_STRING_LENGTH, "%s/C-%s", rootPath, nxagentSessionId);
^~ ~~~~~~~~~~~~~~~~
Error.c:543:5: note: ‘snprintf’ output 4 or more bytes (assuming 259) into a destination of size 256
snprintf(nxagentSessionDir, DEFAULT_STRING_LENGTH, "%s/C-%s", rootPath, nxagentSessionId);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
| |
XlibAtom should be used wherever remote atoms are handled. This is
important as Xlib data types and server data types of the same name do
not always have identical sizes.
See also https://lists.freedesktop.org/archives/xorg-devel/2015-August/047245.html
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
At reconnect we check if a keyboard reset is required. If so, we are
calling the corresponding code from Keyboard.c. No explicit keyboard
code in Reconnect.c required.
fixes ArcticaProject/nx-libs#886
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
We can only free the xkbDevicePrivate because we do not know the
details of any other (possible) extension. So let's limit to that one
private for now and call the new xkbFreePrivates from dix (where such
a function is completely missing).
|
| |
|
|
|
|
| |
[Keyboard.c:559]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
|
|
|
|
| |
Otherwise it will (falsely) report "Memory pointed to by 'sessionpath' is freed twice."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
==12976==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 6 byte(s) in 1 object(s) allocated from:
#0 0x7f510b3ac810 in strdup (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a810)
#1 0x559ca29c5035 in nxagentKeyboardProc /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c:866
#2 0x7a29bff07 (<unknown module>)
Direct leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x7f510b3ac810 in strdup (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a810)
#1 0x559ca29c509a in nxagentKeyboardProc /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c:870
#2 0x7a29bff07 (<unknown module>)
Direct leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x7f510b3ac810 in strdup (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a810)
#1 0x559ca29c507f in nxagentKeyboardProc /home/uli/work/nx/ArcticaProject/nx-libs/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c:869
#2 0x7a29bff07 (<unknown module>)
SUMMARY: AddressSanitizer: 8 byte(s) leaked in 3 allocation(s).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes these two memory leaks identified by valgrind:
==28336== 32 (8 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 180 of 308
==28336== at 0x48356AF: malloc (vg_replace_malloc.c:298)
==28336== by 0x4837DE7: realloc (vg_replace_malloc.c:826)
==28336== by 0x1AE322: AllocateDevicePrivate (privates.c:439)
==28336== by 0x27527B: XkbSetExtension (xkbActions.c:72)
==28336== by 0x198E9B: _RegisterPointerDevice (devices.c:361)
==28336== by 0x1DBA35: InitInput (Init.c:440)
==28336== by 0x14DBD6: main (main.c:303)
==28336==
==28336== 32 (8 direct, 24 indirect) bytes in 1 blocks are definitely lost in loss record 181 of 308
==28336== at 0x48356AF: malloc (vg_replace_malloc.c:298)
==28336== by 0x4837DE7: realloc (vg_replace_malloc.c:826)
==28336== by 0x1AE322: AllocateDevicePrivate (privates.c:439)
==28336== by 0x27527B: XkbSetExtension (xkbActions.c:72)
==28336== by 0x198F1B: _RegisterKeyboardDevice (devices.c:384)
==28336== by 0x1DBA3D: InitInput (Init.c:441)
==28336== by 0x14DBD6: main (main.c:303)
|
|
|
|
|
|
|
| |
While trying to properly free memory allocated by XKB I accidently
called nxagentFreeKeyboardDeviceData twice and noticed it would cause
a segfault here. As the other pointers are also nullified after
being freed let's just do it here, too.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 16cd2bbe1c4425e3fa557f9ca0723aa94a50b071.
It turned out that I had missed some of the Booleans being actually
tristate variables. I think I can fix this (they do not need to be
tristate) but I revert this for now to get back to a working state
(there are reports about non-working fullscreen mode and reconnect
problems).
Refers to ArcticaProject/nx-libs#772
|
|
|
|
| |
drop "== False", "== 0", "== True" and "== 0" for nxagentOptions and Traps
|
|
|
|
|
|
|
|
|
|
|
|
| |
If X2go runs in auto keyboard mode it will pass keyboard=null/null to
the agent and set the keyboard afterwards with setxkbmap. This patch
lets nxagent handle that situation internally (null/null will be
interpreted as clone) and disables X2go's mechanism (by creating a dir
that effectively blocks it; see x2gosetkeyboard)
This is only activated if the agent is run as "x2goagent".
Fixes ArcticaProject/nx-libs#368
|
| |
|
| |
|
|
|
|
| |
This avoids some roundtrips.
|
|
|
|
| |
Add possibility to pass more than model and layout via the keyboard parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifying -keyboard clone (or keyboard=clone in options) will clone
XKB keyboard from the remote x server. This way many keyboard problems
will hopefully never return...
Should be the default but is not (yet) for compatibility reasons.
Fixes ArcticaProject/nx-libs#373
(except the "do autoconf if no keyboard is provided" feature.)
References:
ArcticaProject/nx-libs#240
ArcticaProject/nx-libs#368
|
|
|
|
| |
Describes a check we are not doing here anymore...
|
|
|
|
|
|
|
|
| |
It will now create better working config files.
References:
ArcticaProject/nx-libs#239
ArcticaProject/nx-libs#368
|
| |
|
|
|
|
| |
avoid mix of 'variant' and 'variants'
|
| |
|
|
|
|
| |
we'll need the remote xkb in KeyboardProc in future so let's move it up.
|
| |
|