diff options
author | Elliott Hughes <enh@google.com> | 2015-04-28 19:52:17 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-28 19:52:17 +0200 |
commit | 8c389e9c769c8632cf16c0794f1e84f49996077c (patch) | |
tree | cf3e1d4b9957032db8046f4bb49d5878cb60a538 | |
parent | Merge "Revert "Revert "init re-execs to set its security context now.""" (diff) | |
parent | Stop using adb_strtok, and check argument validity. (diff) | |
download | android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar.gz android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar.bz2 android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar.lz android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar.xz android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.tar.zst android_bootable_recovery-8c389e9c769c8632cf16c0794f1e84f49996077c.zip |
-rw-r--r-- | minadbd/services.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/minadbd/services.cpp b/minadbd/services.cpp index a83256796..dd1fd7c4b 100644 --- a/minadbd/services.cpp +++ b/minadbd/services.cpp @@ -43,15 +43,16 @@ void* service_bootstrap_func(void* x) { return 0; } -static void sideload_host_service(int sfd, void* cookie) { - char* saveptr; - const char* s = adb_strtok_r(reinterpret_cast<char*>(cookie), ":", &saveptr); - uint64_t file_size = strtoull(s, NULL, 10); - s = adb_strtok_r(NULL, ":", &saveptr); - uint32_t block_size = strtoul(s, NULL, 10); - - printf("sideload-host file size %" PRIu64 " block size %" PRIu32 "\n", - file_size, block_size); +static void sideload_host_service(int sfd, void* data) { + const char* args = reinterpret_cast<const char*>(data); + int file_size; + int block_size; + if (sscanf(args, "%d:%d", &file_size, &block_size) != 2) { + printf("bad sideload-host arguments: %s\n", args); + exit(1); + } + + printf("sideload-host file size %d block size %d\n", file_size, block_size); int result = run_adb_fuse(sfd, file_size, block_size); |