Fix buffer overrun in adb wait-for-device.

Bug: http://b/27444063

(cherry picked from commit 34e560b9a1)

Change-Id: Ic71cb2070f509d76fb4208dbab6711c5dd5e1f62
This commit is contained in:
Elliott Hughes 2016-03-09 19:28:03 -08:00
parent 87c4210a86
commit 1ef5bf839e
1 changed files with 2 additions and 2 deletions

View File

@ -1029,8 +1029,8 @@ static bool check_wait_for_device_syntax(const char* service) {
// TODO: when we have libc++ for Windows, use a regular expression instead.
// wait-for-((any|local|usb)-)?(bootloader|device|recovery|sideload)
char type[20];
char state[20];
char type[20 + 1]; // sscanf's %20[...] doesn't include the NUL.
char state[20 + 1];
int length = 0;
if (sscanf(service, "wait-for-%20[a-z]-%20[a-z]%n", type, state, &length) < 2 ||
length != static_cast<int>(strlen(service))) {