mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-08 17:02:23 +00:00
strtol can parse negative values which opens the hole for a NUL injection. The (invalid) entity "&#-256;" is parsed as 0xFFFFFF00 which (when casted to a char) becomes 0. Avoid this attack by using unsigned long integers. To avoid undefined behavior due to negative shifts, restrict the upper bound of the code points to the UTF-8 limits. (Add an assertion to make the Clang static analyzer happy.) Note: due to the specification of strtol, leading spaces and minus/plus signs are also allowed, explicitly check for an integer. "�x1;" is still accepted, but that is considered a minor issue.
…
…
…
…
Description
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unl
Multiple Licenses
268 MiB
Languages
C
64.4%
C++
21.8%
JavaScript
4.7%
Assembly
2%
Makefile
1%
Other
5.4%