SF.net SVN: geany:[4856] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Apr 25 17:42:12 UTC 2010
Revision: 4856
http://geany.svn.sourceforge.net/geany/?rev=4856&view=rev
Author: eht16
Date: 2010-04-25 17:42:12 +0000 (Sun, 25 Apr 2010)
Log Message:
-----------
Change the limit for the command line length when executing commands to a maximum of 32768 characters (closes #2979697).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/win32.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-04-25 17:42:01 UTC (rev 4855)
+++ trunk/ChangeLog 2010-04-25 17:42:12 UTC (rev 4856)
@@ -3,6 +3,9 @@
* src/build.c, src/dialogs.c, src/msgwindow.c, src/ui_utils.c:
Replace g_vsnprintf() by g_strdup_vprintf() to avoid truncated
strings in case of reaching the buffer size limit (part of #2979697).
+ * src/win32.c:
+ Change the limit for the command line length when executing commands
+ to a maximum of 32768 characters (closes #2979697).
2010-04-22 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/win32.c
===================================================================
--- trunk/src/win32.c 2010-04-25 17:42:01 UTC (rev 4855)
+++ trunk/src/win32.c 2010-04-25 17:42:12 UTC (rev 4856)
@@ -57,6 +57,7 @@
#include "editor.h"
#define BUFSIZE 4096
+#define CMDSIZE 32768
struct _geany_win32_spawn
{
@@ -779,9 +780,9 @@
gboolean win32_spawn(const gchar *dir, gchar **argv, gchar **env, GSpawnFlags flags,
gchar **std_out, gchar **std_err, gint *exit_status, GError **error)
{
- TCHAR buffer[MAX_PATH]=TEXT("");
- TCHAR cmdline[MAX_PATH] = TEXT("");
- TCHAR* lpPart[MAX_PATH]={NULL};
+ TCHAR buffer[CMDSIZE]=TEXT("");
+ TCHAR cmdline[CMDSIZE] = TEXT("");
+ TCHAR* lpPart[CMDSIZE]={NULL};
DWORD retval = 0;
gint argc = 0, i;
gint cmdpos = 0;
@@ -808,9 +809,9 @@
if (flags & G_SPAWN_SEARCH_PATH)
{
- retval = SearchPath(NULL, argv[0], ".exe", MAX_PATH, buffer, lpPart);
+ retval = SearchPath(NULL, argv[0], ".exe", sizeof(buffer), buffer, lpPart);
if (retval > 0)
- g_snprintf(cmdline, MAX_PATH, "\"%s\"", buffer);
+ g_snprintf(cmdline, sizeof(cmdline), "\"%s\"", buffer);
else
g_strlcpy(cmdline, argv[0], sizeof(cmdline));
cmdpos = 1;
@@ -818,7 +819,7 @@
for (i = cmdpos; i < argc; i++)
{
- g_snprintf(cmdline, MAX_PATH, "%s %s", cmdline, argv[i]);
+ g_snprintf(cmdline, sizeof(cmdline), "%s %s", cmdline, argv[i]);
/*MessageBox(NULL, cmdline, cmdline, MB_OK);*/
}
@@ -1010,7 +1011,7 @@
STARTUPINFOW siStartInfo;
BOOL bFuncRetn = FALSE;
gchar *expandedCmdline;
- wchar_t w_commandline[MAX_PATH];
+ wchar_t w_commandline[CMDSIZE];
wchar_t w_dir[MAX_PATH];
/* Set up members of the PROCESS_INFORMATION structure. */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list