Fix startup on MS-Windows when 'gdb.ini' is found in $HOME

* windows-nat.c (_initialize_check_for_gdb_ini): Fix off-by-one
	error in allocation of space for "$HOME/.gdbinit" string.  This
	caused GDB to abort on startup whenever a '~/gdb.ini' file was
	actually found, because xsnprintf would hit an assertion
	violation.
This commit is contained in:
Eli Zaretskii
2016-05-02 19:37:43 +03:00
parent 2e1fb61c58
commit 1270fac69d
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2016-05-02 Eli Zaretskii <eliz@gnu.org>
* windows-nat.c (_initialize_check_for_gdb_ini): Fix off-by-one
error in allocation of space for "$HOME/.gdbinit" string. This
caused GDB to abort on startup whenever a '~/gdb.ini' file was
actually found, because xsnprintf would hit an assertion
violation.
2016-04-28 Simon Marchi <simon.marchi@ericsson.com>
* cli/cli-decode.c (help_cmd_list): Do not list commands that

View File

@ -2702,7 +2702,7 @@ _initialize_check_for_gdb_ini (void)
{
char *p;
char *oldini = (char *) alloca (strlen (homedir) +
sizeof ("/gdb.ini"));
sizeof ("gdb.ini") + 1);
strcpy (oldini, homedir);
p = strchr (oldini, '\0');
if (p > oldini && !IS_DIR_SEPARATOR (p[-1]))
@ -2711,9 +2711,9 @@ _initialize_check_for_gdb_ini (void)
if (access (oldini, 0) == 0)
{
int len = strlen (oldini);
char *newini = (char *) alloca (len + 1);
char *newini = (char *) alloca (len + 2);
xsnprintf (newini, len + 1, "%.*s.gdbinit",
xsnprintf (newini, len + 2, "%.*s.gdbinit",
(int) (len - (sizeof ("gdb.ini") - 1)), oldini);
warning (_("obsolete '%s' found. Rename to '%s'."), oldini, newini);
}