diff options
author | Tao Bao <tbao@google.com> | 2018-09-27 18:34:13 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-09-27 18:34:13 +0200 |
commit | b32bd8a333d97d5119d1a94ef51c2fda63c63b67 (patch) | |
tree | f4545b2e138a7c2416ea2a73494e01119a43690c | |
parent | Merge "Enter into userspace fastboot only if the device supports it" (diff) | |
parent | Allow OTA package size larger than 2GiB(2147483647 bytes) on sideload. (diff) | |
download | android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar.gz android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar.bz2 android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar.lz android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar.xz android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.tar.zst android_bootable_recovery-b32bd8a333d97d5119d1a94ef51c2fda63c63b67.zip |
-rw-r--r-- | minadbd/minadbd_services.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/minadbd/minadbd_services.cpp b/minadbd/minadbd_services.cpp index ab1939e92..e9c51da0a 100644 --- a/minadbd/minadbd_services.cpp +++ b/minadbd/minadbd_services.cpp @@ -33,19 +33,20 @@ #include "sysdeps.h" static void sideload_host_service(unique_fd sfd, const std::string& args) { - int file_size; - int block_size; - if (sscanf(args.c_str(), "%d:%d", &file_size, &block_size) != 2) { - printf("bad sideload-host arguments: %s\n", args.c_str()); - exit(1); - } + int64_t file_size; + int block_size; + if ((sscanf(args.c_str(), "%" SCNd64 ":%d", &file_size, &block_size) != 2) || file_size <= 0 || + block_size <= 0) { + printf("bad sideload-host arguments: %s\n", args.c_str()); + exit(1); + } - printf("sideload-host file size %d block size %d\n", file_size, block_size); + printf("sideload-host file size %" PRId64 " block size %d\n", file_size, block_size); - int result = run_adb_fuse(sfd, file_size, block_size); + int result = run_adb_fuse(sfd, file_size, block_size); - printf("sideload_host finished\n"); - exit(result == 0 ? 0 : 1); + printf("sideload_host finished\n"); + exit(result == 0 ? 0 : 1); } unique_fd daemon_service_to_fd(const char* name, atransport* /* transport */) { |