summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2012-05-02 20:00:31 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2012-05-02 20:00:31 +0000
commit3a08ca094422dc873d9c48fda20ddf177d28f432 (patch)
tree79028bf9546d0d6647ceb3df981efdb092b66930 /gdb
parente38205ccdaca63d80c104921aa061d6f90f0a8ac (diff)
downloadgdb-3a08ca094422dc873d9c48fda20ddf177d28f432.tar.gz
gdb/
Fix --without-auto-load-safe-path for MS-Windows host platform. * auto-load.c (filename_is_in_dir): Return 1 for DIR_LEN 0.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/auto-load.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5356e14008e..e544f898ae1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix --without-auto-load-safe-path for MS-Windows host platform.
+ * auto-load.c (filename_is_in_dir): Return 1 for DIR_LEN 0.
+
2012-05-02 Eli Zaretskii <eliz@gnu.org>
* gdb_curses.h: Undefine KEY_EVENT before including curses
diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index 9d19179feb9..187e8520f9a 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -231,6 +231,12 @@ filename_is_in_dir (const char *filename, const char *dir)
while (dir_len && IS_DIR_SEPARATOR (dir[dir_len - 1]))
dir_len--;
+ /* Ensure auto_load_safe_path "/" matches any FILENAME. On MS-Windows
+ platform FILENAME even after gdb_realpath does not have to start with
+ IS_DIR_SEPARATOR character, such as the 'C:\x.exe' filename. */
+ if (dir_len == 0)
+ return 1;
+
return (filename_ncmp (dir, filename, dir_len) == 0
&& (IS_DIR_SEPARATOR (filename[dir_len])
|| filename[dir_len] == '\0'));