summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2018-09-27 19:14:41 +0200
committerandroid-build-merger <android-build-merger@google.com>2018-09-27 19:14:41 +0200
commitd567f5d81883c9c7b0ce2293b6681f2de83a863e (patch)
treef4545b2e138a7c2416ea2a73494e01119a43690c
parentMerge "Enter into userspace fastboot only if the device supports it" am: c2e6f0410c am: 4e30d0d687 (diff)
parentMerge "Allow OTA package size larger than 2GiB(2147483647 bytes) on sideload." am: b32bd8a333 (diff)
downloadandroid_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar.gz
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar.bz2
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar.lz
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar.xz
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.tar.zst
android_bootable_recovery-d567f5d81883c9c7b0ce2293b6681f2de83a863e.zip
-rw-r--r--minadbd/minadbd_services.cpp21
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 */) {