mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
windows.c: Use a zeroed buffer when retrieving the module path
There is a small API note on GetModuleFileName(), which says: "Windows XP: The string is truncated to nSize characters and is not null-terminated." Which means that on XP it will be only safe if we pass a zeroed buffer to it, otherwise the next call to wcsrchr (which is a strchr for wchar_t) may not find a relative terminating \0 in the buffer, returning a wrong pointer and resulting in a corrupted string. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
07b2c204c9
commit
30e10183ca
1 changed files with 1 additions and 1 deletions
|
@ -243,7 +243,7 @@ extern int __wgetmainargs(int *, wchar_t ***, wchar_t ***, int, int *);
|
||||||
/* expand-convert the UTF-16 argument list to a list of UTF-8 strings */
|
/* expand-convert the UTF-16 argument list to a list of UTF-8 strings */
|
||||||
void subsurface_command_line_init(gint *argc, gchar ***argv)
|
void subsurface_command_line_init(gint *argc, gchar ***argv)
|
||||||
{
|
{
|
||||||
wchar_t **wargv, **wenviron, *p, path[MAX_PATH];
|
wchar_t **wargv, **wenviron, *p, path[MAX_PATH] = {0};
|
||||||
gchar **argv_new;
|
gchar **argv_new;
|
||||||
gchar *s;
|
gchar *s;
|
||||||
/* for si we assume that a struct address will equal the address
|
/* for si we assume that a struct address will equal the address
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue