Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aae84e81 authored by Hridya Valsaraju's avatar Hridya Valsaraju
Browse files

Check maximum allowed download size for download command.

Bug: 117272937
Test: fastboot flashall
Change-Id: Ied34a89129813a7f9fce6d4f48d8b65967558731
parent f3186de1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@
#include <string>
#include <vector>

constexpr unsigned int kMaxDownloadSizeDefault = 0x20000000;

class FastbootDevice;

enum class FastbootResult {
+0 −1
Original line number Diff line number Diff line
@@ -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 */,