[X2Go-Commits] [nx-libs] 01/29: Dialog.c, Display.c, Font.c, NXdixfonts.c: don't use hardcoded string buffer lengths
git-admin at x2go.org
git-admin at x2go.org
Sun Jan 7 01:30:58 CET 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch 3.6.x
in repository nx-libs.
commit 5987a7b1af09e97271be3da74d336a64435e759a
Author: Ulrich Sibiller <uli42 at gmx.de>
Date: Thu Nov 23 21:25:26 2017 +0100
Dialog.c,Display.c,Font.c,NXdixfonts.c: don't use hardcoded string buffer lengths
---
nx-X11/programs/Xserver/hw/nxagent/Dialog.c | 17 +++++++----------
nx-X11/programs/Xserver/hw/nxagent/Display.c | 6 +++---
nx-X11/programs/Xserver/hw/nxagent/Font.c | 7 ++++---
nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c | 8 ++++----
4 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
index b7852a0..df6bb1c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
@@ -279,15 +279,15 @@ void nxagentLaunchDialog(DialogType dialogType)
if (dialogType == DIALOG_FAILED_RECONNECTION)
{
- strncpy(dialogDisplay, nxagentDisplayName, 255);
+ strncpy(dialogDisplay, nxagentDisplayName, sizeof(dialogDisplay) - 1);
}
else
{
strcpy(dialogDisplay, ":");
- strncat(dialogDisplay, display, 254);
+ strncat(dialogDisplay, display, sizeof(dialogDisplay) - 1 - 1);
}
- *(dialogDisplay + 255) = '\0';
+ dialogDisplay[sizeof(dialogDisplay) - 1] = '\0';
/*
* We don't want to receive SIGCHLD
@@ -308,7 +308,7 @@ void nxagentLaunchDialog(DialogType dialogType)
DECODE_DIALOG_TYPE(dialogType), *pid, dialogDisplay);
#endif
- *dialogDisplay = '\0';
+ dialogDisplay[0] = '\0';
/*
* Restore the previous set of
@@ -320,8 +320,7 @@ void nxagentLaunchDialog(DialogType dialogType)
void nxagentPulldownDialog(Window wid)
{
- snprintf(nxagentPulldownWindow, 15, "%ld", (long int) wid);
- nxagentPulldownWindow[15] = 0;
+ snprintf(nxagentPulldownWindow, sizeof(nxagentPulldownWindow), "%ld", (long int) wid);
#ifdef TEST
fprintf(stderr, "nxagentPulldownDialog: Going to launch pulldown "
@@ -330,7 +329,7 @@ void nxagentPulldownDialog(Window wid)
nxagentLaunchDialog(DIALOG_PULLDOWN);
- nxagentPulldownWindow[0] = 0;
+ nxagentPulldownWindow[0] = '\0';
}
void nxagentFailedReconnectionDialog(int alert, char *error)
@@ -372,9 +371,7 @@ void nxagentFailedReconnectionDialog(int alert, char *error)
int status;
int options = 0;
- snprintf(nxagentFailedReconnectionMessage, 255, "Reconnection failed: %s", error);
-
- *(nxagentFailedReconnectionMessage + 255) = '\0';
+ snprintf(nxagentFailedReconnectionMessage, sizeof(nxagentFailedReconnectionMessage), "Reconnection failed: %s", error);
nxagentLaunchDialog(DIALOG_FAILED_RECONNECTION);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c
index 4930bae..5943e53 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
@@ -1150,9 +1150,9 @@ void nxagentOpenDisplay(int argc, char *argv[])
if (*nxagentDisplayName == '\0')
{
- strncpy(nxagentDisplayName, XDisplayName(NULL), 1023);
+ strncpy(nxagentDisplayName, XDisplayName(NULL), sizeof(nxagentDisplayName) - 1);
- nxagentDisplayName[1023] = '\0';
+ nxagentDisplayName[sizeof(nxagentDisplayName) - 1] = '\0';
}
nxagentCloseDisplay();
@@ -1862,7 +1862,7 @@ static FILE *nxagentLookForIconFile(char *iconName, const char *permission,
singlePath[strlen(singlePath)- 1] = 0;
}
- if (strlen(singlePath) + strlen(iconName) + 1 < PATH_MAX)
+ if (strlen(singlePath) + strlen(iconName) + 1 < sizeof(singlePath)<)
{
strncat(singlePath, slash, 1);
strcat(singlePath, iconName);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.c b/nx-X11/programs/Xserver/hw/nxagent/Font.c
index 3b35a8b..c7fcaf3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Font.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Font.c
@@ -1406,15 +1406,16 @@ Bool nxagentDisconnectAllFonts()
static Bool nxagentGetFontServerPath(char * fontServerPath)
{
- char path[256];
+ /* ensure path is no longer than fontServerPath */
+ char path[256] = {0};
- if (NXGetFontParameters(nxagentDisplay, 256, path) == True)
+ if (NXGetFontParameters(nxagentDisplay, sizeof(path), path) == True)
{
if (*path != '\0')
{
strncpy(fontServerPath, path + 1, *path);
- *(fontServerPath + *path) = '\0';
+ fontServerPath[*path] = '\0';
#ifdef TEST
fprintf(stderr, "nxagentGetFontServerPath: Got path [%s].\n",
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
index 49d8648..db555d5 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
@@ -121,7 +121,7 @@ static const char *_NXGetFontPath(const char *path)
if (fontEnv != NULL && *fontEnv != '\0')
{
- if (strlen(fontEnv) + 1 > 1024)
+ if (strlen(fontEnv) + 1 > sizeof(_NXFontPath))
{
#ifdef NX_TRANS_TEST
fprintf(stderr, "_NXGetFontPath: WARNING! Maximum length of font path exceeded.\n");
@@ -140,8 +140,8 @@ static const char *_NXGetFontPath(const char *path)
_NXGetFontPathError:
- strncpy(_NXFontPath, path, 1023);
- _NXFontPath[1023] = '\0';
+ strncpy(_NXFontPath, path, sizeof(_NXFontPath) - 1);
+ _NXFontPath[sizeof(_NXFontPath) - 1] = '\0';
#ifdef NX_TRANS_TEST
fprintf(stderr, "_NXGetFontPath: Using default font path [%s].\n", _NXFontPath);
@@ -199,7 +199,7 @@ doOpenFont(ClientPtr client, OFclosurePtr c)
BitmapFormatScanlineUnit8;
- nxagentOrigFontNameLen = (c -> origFontNameLen < 256) ? c -> origFontNameLen : 255;
+ nxagentOrigFontNameLen = (c -> origFontNameLen < sizeof(nxagentOrigFontName) ? c -> origFontNameLen : sizeof(nxagentOrigFontName) - 1);
memcpy(nxagentOrigFontName, c -> origFontName, nxagentOrigFontNameLen);
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
More information about the x2go-commits
mailing list