Author: mturk Date: Mon Jun 6 14:05:59 2011 New Revision: 1132650 URL: http://svn.apache.org/viewvc?rev=1132650&view=rev Log: DAEMON-185 Make cmdline parsing more robust for invalid parameters
Modified: commons/proper/daemon/trunk/RELEASE-NOTES.txt commons/proper/daemon/trunk/src/native/windows/src/cmdline.c Modified: commons/proper/daemon/trunk/RELEASE-NOTES.txt URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/RELEASE-NOTES.txt?rev=1132650&r1=1132649&r2=1132650&view=diff ============================================================================== --- commons/proper/daemon/trunk/RELEASE-NOTES.txt (original) +++ commons/proper/daemon/trunk/RELEASE-NOTES.txt Mon Jun 6 14:05:59 2011 @@ -31,6 +31,9 @@ Commons DAEMON 1.0.3 requires a minimum NEW FEATURES: +* DAEMON-205: Add support for building on ARM processors (1.0.6) +* DAEMON-204: Add DaemonSignal interface that allows catching SIGUSR2 + signals and creating custom callbacks (1.0.6) * DAEMON-180: Add DaemonWrapper to allow running standard applications as daemons. (1.0.4) * DAEMON-179: Allow procrun to use java/lang/System as --ShutdownClass. (1.0.4) @@ -70,7 +73,7 @@ NEW FEATURES: BUG FIXES: -1.0.6: DAEMON-186, DAEMON-193, DAEMON-194 +1.0.6: DAEMON-186, DAEMON-193, DAEMON-194, DAEMON-206, DAEMON-185 1.0.5: DAEMON-158, DAEMON-184, DAEMON-187, DAEMON-188, DAEMON-190 Modified: commons/proper/daemon/trunk/src/native/windows/src/cmdline.c URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/src/cmdline.c?rev=1132650&r1=1132649&r2=1132650&view=diff ============================================================================== --- commons/proper/daemon/trunk/src/native/windows/src/cmdline.c (original) +++ commons/proper/daemon/trunk/src/native/windows/src/cmdline.c Mon Jun 6 14:05:59 2011 @@ -109,15 +109,17 @@ LPAPXCMDLINE apxCmdlineParse( ca += 2; while (*ca && *ca != L'/') { cmd[l] = *ca; - if (l++ > 3) + if (++l > 2) break; ca++; } cmd[l] = L'\0'; - while (lpszCommands[i]) { - if (lstrcmpW(lpszCommands[i++], cmd) == 0) { - lpCmdline->dwCmdIndex = i; - break; + if (*ca == L'\0' || *ca == L'/') { + while (lpszCommands[i]) { + if (lstrcmpW(lpszCommands[i++], cmd) == 0) { + lpCmdline->dwCmdIndex = i; + break; + } } } if (lpCmdline->dwCmdIndex) {