diff --git a/src/rtapi/uspace_rtapi_main.cc b/src/rtapi/uspace_rtapi_main.cc index 3a73c5e294e..fcfb5c24c17 100644 --- a/src/rtapi/uspace_rtapi_main.cc +++ b/src/rtapi/uspace_rtapi_main.cc @@ -422,7 +422,7 @@ static void push_uint16(std::vector &buf, uint16_t value) { static uint16_t get_uint16(const std::vector &buf, size_t idx) { //at() will check index and throw std::out_of_range - return ((uint16_t)buf.at(idx) << 0) | ((uint16_t)buf.at(idx + 1) << 8); + return ((uint16_t)(unsigned char)buf.at(idx)) | ((uint16_t)(unsigned char)buf.at(idx + 1) << 8); } static bool recv_args(int fd, std::vector &args) {