mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-04-08 18:35:05 +02:00
Set argv[argc] to NULL when calling main
ISO C states that argv[argc] shall be a null pointer. The OpenSSH codebase does not appear to rely on this currently, but better to be safe in case something changes.
This commit is contained in:
parent
e1661bfcb4
commit
b726e8a3ed
@ -43,13 +43,12 @@ wmain(int argc, wchar_t **wargv) {
|
||||
char** argv = NULL;
|
||||
int i, r;
|
||||
_set_invalid_parameter_handler(invalid_parameter_handler);
|
||||
if (argc) {
|
||||
if ((argv = malloc(argc * sizeof(char*))) == NULL)
|
||||
if ((argv = malloc((argc + 1) * sizeof(char*))) == NULL)
|
||||
fatal("out of memory");
|
||||
for (i = 0; i < argc; i++)
|
||||
if ((argv[i] = utf16_to_utf8(wargv[i])) == NULL)
|
||||
fatal("out of memory");
|
||||
for (i = 0; i < argc; i++)
|
||||
if ((argv[i] = utf16_to_utf8(wargv[i])) == NULL)
|
||||
fatal("out of memory");
|
||||
}
|
||||
argv[argc] = NULL;
|
||||
|
||||
if (getenv("SSH_AUTH_SOCK") == NULL)
|
||||
_putenv("SSH_AUTH_SOCK=\\\\.\\pipe\\openssh-ssh-agent");
|
||||
|
@ -50,16 +50,15 @@ int sshd_session_main(int argc, wchar_t **wargv) {
|
||||
int i, r;
|
||||
_set_invalid_parameter_handler(invalid_parameter_handler);
|
||||
|
||||
if (argc) {
|
||||
if ((argv = malloc(argc * sizeof(char*))) == NULL) {
|
||||
printf("out of memory");
|
||||
exit(255);
|
||||
}
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
argv[i] = utf16_to_utf8(wargv[i]);
|
||||
if ((argv = malloc((argc + 1) * sizeof(char*))) == NULL) {
|
||||
printf("out of memory");
|
||||
exit(255);
|
||||
}
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
argv[i] = utf16_to_utf8(wargv[i]);
|
||||
argv[argc] = NULL;
|
||||
|
||||
w32posix_initialize();
|
||||
|
||||
r = main(argc, argv);
|
||||
|
@ -202,16 +202,15 @@ int sshd_main(int argc, wchar_t **wargv) {
|
||||
int i, r;
|
||||
_set_invalid_parameter_handler(invalid_parameter_handler);
|
||||
|
||||
if (argc) {
|
||||
if ((argv = malloc(argc * sizeof(char*))) == NULL) {
|
||||
printf("out of memory");
|
||||
exit(255);
|
||||
}
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
argv[i] = utf16_to_utf8(wargv[i]);
|
||||
if ((argv = malloc((argc + 1) * sizeof(char*))) == NULL) {
|
||||
printf("out of memory");
|
||||
exit(255);
|
||||
}
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
argv[i] = utf16_to_utf8(wargv[i]);
|
||||
argv[argc] = NULL;
|
||||
|
||||
w32posix_initialize();
|
||||
|
||||
r = main(argc, argv);
|
||||
|
Loading…
x
Reference in New Issue
Block a user