diff options
author | Josh Gao <jmgao@google.com> | 2019-03-15 21:18:43 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-03-15 21:18:43 -0700 |
commit | 3811ab5afa657b315dfc3bcfdfb70bfb3e2c1a9e (patch) | |
tree | 124461d7905b7c2d1d0f5007c7d7baa78028dabe /adb | |
parent | a7597deed2b042f54644147e0545de3ec3a7f9fb (diff) | |
parent | a6397564b6f5d8527817a11e418a2a7e4fd14d61 (diff) | |
download | system_core-3811ab5afa657b315dfc3bcfdfb70bfb3e2c1a9e.tar.gz system_core-3811ab5afa657b315dfc3bcfdfb70bfb3e2c1a9e.tar.bz2 system_core-3811ab5afa657b315dfc3bcfdfb70bfb3e2c1a9e.zip |
Merge "adb: avoid sign extension of shell return code." am: b5ac15a936
am: a6397564b6
Change-Id: I6d5e70872105ef569d7a2d2b1fbb488c66adfbbe
Diffstat (limited to 'adb')
-rw-r--r-- | adb/client/commandline.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/adb/client/commandline.cpp b/adb/client/commandline.cpp index bb30ae570..43a3e5e94 100644 --- a/adb/client/commandline.cpp +++ b/adb/client/commandline.cpp @@ -295,7 +295,10 @@ int read_and_dump(int fd, bool use_shell_protocol = false, callback->OnStderr(buffer_ptr, length); break; case ShellProtocol::kIdExit: - exit_code = protocol->data()[0]; + // data() returns a char* which doesn't have defined signedness. + // Cast to uint8_t to prevent 255 from being sign extended to INT_MIN, + // which doesn't get truncated on Windows. + exit_code = static_cast<uint8_t>(protocol->data()[0]); continue; default: continue; |