Merge "fastboot: sparse_file_len() returns int64_t."

This commit is contained in:
Tao Bao 2018-04-25 13:32:43 +00:00 committed by Gerrit Code Review
commit 9249f4bc41
2 changed files with 8 additions and 4 deletions

View File

@ -693,10 +693,14 @@ static void queue_info_dump() {
fb_queue_notice("--------------------------------------------");
}
static struct sparse_file** load_sparse_files(int fd, int max_size) {
static struct sparse_file** load_sparse_files(int fd, int64_t max_size) {
struct sparse_file* s = sparse_file_import_auto(fd, false, true);
if (!s) die("cannot sparse read file");
if (max_size <= 0 || max_size > std::numeric_limits<uint32_t>::max()) {
die("invalid max size %" PRId64, max_size);
}
int files = sparse_file_resparse(s, max_size, nullptr, 0);
if (files < 0) die("Failed to resparse");

View File

@ -344,12 +344,12 @@ static int fb_download_data_sparse_flush(Transport* transport) {
}
int fb_download_data_sparse(Transport* transport, struct sparse_file* s) {
int size = sparse_file_len(s, true, false);
if (size <= 0) {
int64_t size = sparse_file_len(s, true, false);
if (size <= 0 || size > std::numeric_limits<uint32_t>::max()) {
return -1;
}
std::string cmd(android::base::StringPrintf("download:%08x", size));
std::string cmd(android::base::StringPrintf("download:%08" PRIx64, size));
int r = _command_start(transport, cmd, size, 0);
if (r < 0) {
return -1;