]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[gdbserver/win32] fatal "glob could not process pattern '(null)'" error
authorJoel Brobecker <brobecker@adacore.com>
Thu, 10 May 2018 15:23:10 +0000 (10:23 -0500)
committerJoel Brobecker <brobecker@adacore.com>
Thu, 10 May 2018 16:45:22 +0000 (09:45 -0700)
commite378993dd341b10571a7cb6e98d5d3b48a06e24c
tree51c809b0c1ffd47ac63a50e4b71165fce1fee737
parent8a620990c7634e872b31718a8411a90a6f384457
[gdbserver/win32] fatal "glob could not process pattern '(null)'" error

Trying to start GDBserver on Windows currently yields the following
error...

    $ gdbserver.exe --once :4444 simple_main.exe
    glob could not process pattern '(null)'.
    Exiting

... after which GDB terminates with a nonzero status.

This is because create_process in win32-low.c calls gdb_tilde_expand
with the result of a call to get_inferior_cwd without verifying that
the returned directory is not NULL:

    | static BOOL
    | create_process (const char *program, char *args,
    |                 DWORD flags, PROCESS_INFORMATION *pi)
    | {
    |   const char *inferior_cwd = get_inferior_cwd ();
    |   std::string expanded_infcwd = gdb_tilde_expand (inferior_cwd);

This patch avoids this by only calling gdb_tilde_expand when
INFERIOR_CWD is not NULL, which is similar to what is done on
GNU/Linux for instance.

gdb/gdbserver/ChangeLog:

        PR server/23158:
        * win32-low.c (create_process): Only call gdb_tilde_expand if
        inferior_cwd is not NULL.
gdb/gdbserver/ChangeLog
gdb/gdbserver/win32-low.c