1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-08-07 11:26:09 -04:00
Robin Getz 742746dc7b Fix undefined shift in SimpleDeserializer::readS32
The signed integer deserialization code used a signed temporary value while
assembling bytes:

    tmp = (tmp << 8) | byte;

For negative values, tmp was initialized to -1 for sign extension, causing a
left shift of a negative value, which is undefined behavior in C++.

Use an unsigned temporary while constructing the 32-bit representation and
convert to qint32 only after all bytes have been assembled. This preserves the
existing two's complement sign handling while avoiding undefined signed shifts.

Fixes static analysis (cppcheck) warning about shifting a negative value.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-08-01 15:01:21 -04:00
2026-07-04 18:22:23 +02:00
2024-07-10 23:06:38 +02:00
2026-03-25 18:58:43 +00:00
2026-03-27 21:17:46 +01:00
2026-06-22 11:08:58 +01:00
2021-01-29 12:57:58 +00:00
2024-08-03 11:05:12 +02:00
2026-07-04 18:22:23 +02:00
2026-07-04 18:22:23 +02:00
2023-05-02 19:43:59 +02:00
2019-04-11 07:06:30 +02:00
2022-10-29 13:37:09 +02:00

SDR Angel banner

SDRangel is an open-source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.

Wiki: Most of the information and documentation related to SDRangel can be found in the Wiki. Please make sure to check it in case of questions or trouble and before you post issues on GitHub. You may also seek help from other users using the discussion group below. Before running the program, make sure you read at least the Home and Quick Start pages.

Discussion group: You can ask other users for help or discuss subjects related to SDRangel and its ancillary projects here.

Ancillary projects

  • SDRangelcli is a web application that can be used to control a headless (server flavor) instance of SDRangel. It can also be used as a remote control for the GUI flavor.
  • SDRangel-Docker is a collection of Docker files and scripts to facilitate building and running SDRangel in a Docker container. Works for either the GUI (only on a Linux host) or the server.
Languages
C++ 69.8%
JavaScript 27.5%
CMake 0.9%
C 0.8%
Python 0.3%
Other 0.6%