Check maximum allowed download size for download command.

Bug: 117272937
Test: fastboot flashall
Change-Id: Ied34a89129813a7f9fce6d4f48d8b65967558731
This commit is contained in:
Hridya Valsaraju 2018-10-08 13:10:25 -07:00
parent f3186de123
commit aae84e813c
3 changed files with 3 additions and 2 deletions

View File

@ -165,7 +165,7 @@ bool DownloadHandler(FastbootDevice* device, const std::vector<std::string>& arg
}
// arg[0] is the command name, arg[1] contains size of data to be downloaded
unsigned int size;
if (!android::base::ParseUint("0x" + args[1], &size, UINT_MAX)) {
if (!android::base::ParseUint("0x" + args[1], &size, kMaxDownloadSizeDefault)) {
return device->WriteStatus(FastbootResult::FAIL, "Invalid size");
}
device->download_data().resize(size);

View File

@ -19,6 +19,8 @@
#include <string>
#include <vector>
constexpr unsigned int kMaxDownloadSizeDefault = 0x20000000;
class FastbootDevice;
enum class FastbootResult {

View File

@ -36,7 +36,6 @@ using ::android::hardware::fastboot::V1_0::FileSystemType;
using ::android::hardware::fastboot::V1_0::Result;
using ::android::hardware::fastboot::V1_0::Status;
constexpr int kMaxDownloadSizeDefault = 0x20000000;
constexpr char kFastbootProtocolVersion[] = "0.4";
bool GetVersion(FastbootDevice* /* device */, const std::vector<std::string>& /* args */,