mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-08-06 10:56:34 -04:00
5df5469cc23fae59cbee358f4d21fcbefdde457f
The gf2n implementation used a left shift on a potentially negative
value when masking field elements:
(~(Te)0) << N
This can result in undefined behavior for signed integer types and was
reported by static analysis (cppcheck).
Require the field element type to be unsigned and replace the mask
generation with an explicit N-bit mask constructed from the element type.
Also make the overflow check use the element type to avoid implicit
signed integer operations.
Add comments documenting the packed polynomial representation and the
GF(2^N) reduction steps to clarify the intent of the bit operations.
Fixes static analysis warning about shifting negative values.
Signed-off-by: Robin Getz <rgetz503@gmail.com>
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%
