mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:25:43 +00:00
[SHUTDOWN]
shutdown -t causes crash Patch by Michael Fritscher. CORE-12886 #resolve #comment Thanks a lot! svn path=/trunk/; revision=74131
This commit is contained in:
parent
48c9363c36
commit
5383e90959
1 changed files with 11 additions and 7 deletions
|
@ -56,12 +56,11 @@ ParseArguments(struct CommandLineOptions* pOpts, int argc, WCHAR *argv[])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'c': /* Comment on reason for shutdown */
|
case L'c': /* Comment on reason for shutdown */
|
||||||
|
if (index+1 > argc)
|
||||||
|
return ERROR_INVALID_DATA;
|
||||||
if(CheckCommentLength(argv[index+1]))
|
if(CheckCommentLength(argv[index+1]))
|
||||||
{
|
{
|
||||||
if (index+1 <= argc)
|
pOpts->message = argv[index+1];
|
||||||
pOpts->message = argv[index+1];
|
|
||||||
else
|
|
||||||
return ERROR_INVALID_DATA;
|
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -72,10 +71,9 @@ ParseArguments(struct CommandLineOptions* pOpts, int argc, WCHAR *argv[])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'd': /* Reason code [p|u:]xx:yy */
|
case L'd': /* Reason code [p|u:]xx:yy */
|
||||||
if (index+1 <= argc)
|
if (index+1 >= argc)
|
||||||
pOpts->reason = ParseReasonCode(argv[index+1]);
|
|
||||||
else
|
|
||||||
return ERROR_INVALID_DATA;
|
return ERROR_INVALID_DATA;
|
||||||
|
pOpts->reason = ParseReasonCode(argv[index+1]);
|
||||||
index++;
|
index++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -101,7 +99,10 @@ ParseArguments(struct CommandLineOptions* pOpts, int argc, WCHAR *argv[])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'm': /* Target remote systems (UNC name/IP address) */
|
case L'm': /* Target remote systems (UNC name/IP address) */
|
||||||
|
if (index+1 >= argc)
|
||||||
|
return ERROR_INVALID_DATA;
|
||||||
pOpts->remote_system = argv[index+1];
|
pOpts->remote_system = argv[index+1];
|
||||||
|
index++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L'p': /* Turn off local computer with no warning/time-out */
|
case L'p': /* Turn off local computer with no warning/time-out */
|
||||||
|
@ -118,9 +119,12 @@ ParseArguments(struct CommandLineOptions* pOpts, int argc, WCHAR *argv[])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case L't': /* Shutdown delay */
|
case L't': /* Shutdown delay */
|
||||||
|
if (index+1 >= argc)
|
||||||
|
return ERROR_INVALID_DATA;
|
||||||
pOpts->shutdown_delay = _wtoi(argv[index+1]);
|
pOpts->shutdown_delay = _wtoi(argv[index+1]);
|
||||||
if (pOpts->shutdown_delay > 0)
|
if (pOpts->shutdown_delay > 0)
|
||||||
pOpts->force = TRUE;
|
pOpts->force = TRUE;
|
||||||
|
index++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue