Remove & from rejected shell metacharacters since URLs legitimately
use & for query parameters (e.g., ?key=val&key2=val2). The remaining
checks still prevent command injection via other metacharacters.
- Implement radix-2 Cooley-Tukey FFT algorithm
- Add windowing functions: Hann, Hamming, Blackman, Rectangular
- Support configurable frequency bin count
- Add peak detection with configurable decay rate
- Include temporal smoothing for visualization
- Add spectrum analysis example program
- Proper memory management with init/close lifecycle
Bug-fix: Add buffer bounds checking to prevent overflow when sample count is not power of 2
Signed-off-by: Srikanth Patchava <spatchava@meta.com>
- rtext.c: Fix TextRemoveSpaces() buffer over-read when input starts
with spaces by checking text[i] instead of text[j] for null terminator
- rtext.c: Add integer overflow guard in TextToInteger() before
value = value*10 + digit
- raudio.c: Add NULL check after RL_MALLOC() in WaveCrop() and
LoadWaveSamples() to prevent NULL pointer dereference
- rcore_desktop_glfw.c: Harden OpenURL() against command injection by
rejecting URLs containing shell metacharacters (double-quote, &, |,
;, backtick, $, backslash) in addition to single-quote
https://github.com/raysan5/raylib/pull/5720#issuecomment-4187113099
In this comment, it was pointed out that LibraryConfigurations.cmake
still tries to find and link egl, gbm, and glesv2, even when using the
software renderer is it not necessary.
This patch addresses that.
After RGFW update to 2.0.0-dev in fbd83cafc7, RGFW_window_setIcon api has changed -- not it takes pixel format enum instead of number of channels. On raylib side it was still passing 4 (number of channels in rgba) which is enum value for BGRA8. Instead we have to pass 2 now (RGFW_formatRGBA8 = 2).