Fix bug #37284906, adb shell crashes on windows with invalid options.

For example, "adb.exe shell -list" crashes without this fix.
Test: adb.exe shell -list-packages

Change-Id: I96be44128ff3ecab7804b70074cbde630b3fc3d1
This commit is contained in:
Huihong Luo 2017-08-17 15:23:08 -07:00
parent e3e4ec7c97
commit af39885c9f
1 changed files with 4 additions and 0 deletions

View File

@ -685,6 +685,10 @@ static int adb_shell(int argc, const char** argv) {
// Parse shell-specific command-line options.
argv[0] = "adb shell"; // So getopt(3) error messages start "adb shell".
#ifdef _WIN32
// fixes "adb shell -l" crash on Windows, b/37284906
__argv = const_cast<char**>(argv);
#endif
optind = 1; // argv[0] is always "shell", so set `optind` appropriately.
int opt;
while ((opt = getopt(argc, const_cast<char**>(argv), "+e:ntTx")) != -1) {