diff options
author | Jaesung Chung <jaesung@google.com> | 2017-06-15 19:46:44 +0900 |
---|---|---|
committer | Jaesung Chung <jaesung@google.com> | 2017-06-16 17:45:37 +0900 |
commit | 23f1d09b744f9c454eff0a42bcd8ad04ec12447f (patch) | |
tree | 77da68008e723257ffee12bbe72ede7dc139ec96 /logd/tests/logd_test.cpp | |
parent | 72ca50359e5b0ad4930fbc7e0762285e317e7f85 (diff) | |
download | system_core-23f1d09b744f9c454eff0a42bcd8ad04ec12447f.tar.gz system_core-23f1d09b744f9c454eff0a42bcd8ad04ec12447f.tar.bz2 system_core-23f1d09b744f9c454eff0a42bcd8ad04ec12447f.zip |
logd-unit-tests: make sure use unsigned types when reading le
The get4LE method needs to use unsigned types since the sign char values
can lead to producing wrong values.
Bug: 62599757
Test: passes all test cases of logd-unit-tests.
Change-Id: Ifaf83533d847ea4fbe0cd46a978f4dabbfa7df8d
Diffstat (limited to 'logd/tests/logd_test.cpp')
-rw-r--r-- | logd/tests/logd_test.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/logd/tests/logd_test.cpp b/logd/tests/logd_test.cpp index cd802123e..4397b144c 100644 --- a/logd/tests/logd_test.cpp +++ b/logd/tests/logd_test.cpp @@ -933,8 +933,12 @@ TEST(logd, getEventTag_newentry) { } #ifdef __ANDROID__ -static inline int32_t get4LE(const char* src) { - return src[0] | (src[1] << 8) | (src[2] << 16) | (src[3] << 24); +static inline uint32_t get4LE(const uint8_t* src) { + return src[0] | (src[1] << 8) | (src[2] << 16) | (src[3] << 24); +} + +static inline uint32_t get4LE(const char* src) { + return get4LE(reinterpret_cast<const uint8_t*>(src)); } #endif |