Move "fastboot oem" to std::string.

Not sure how this code got missed when we moved everything else off
C string handling...

  $ adb reboot bootloader
  $ fastboot oem `perl -e 'print "x"x1024;'`

Before:
  <crashes>

After:
  error: Command length (1028) exceeds maximum size (64)

(The error says 1028 instead of 1024 because it includes the "oem ".)

Bug: http://b/36232671
Test: fastboot oem `perl -e 'print "x"x1024;'`
Change-Id: Ib4664e49222bd2b71be5aa3fe81f386d6073414f
This commit is contained in:
Elliott Hughes 2017-03-15 09:37:28 -07:00
parent 3d028f14c8
commit 4a66730d6a
1 changed files with 6 additions and 9 deletions

View File

@ -1245,20 +1245,17 @@ static int do_bypass_unlock_command(int argc, char **argv)
return 0;
}
static int do_oem_command(int argc, char **argv)
{
char command[256];
static int do_oem_command(int argc, char** argv) {
if (argc <= 1) return 0;
command[0] = 0;
while(1) {
strcat(command,*argv);
std::string command;
while (argc > 0) {
command += *argv;
skip(1);
if(argc == 0) break;
strcat(command," ");
if (argc != 0) command += " ";
}
fb_queue_command(command,"");
fb_queue_command(command.c_str(), "");
return 0;
}