Potential fix for code scanning alert no. 1: Use of potentially dangerous function #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Potential fix for https://github.com/Fabio3rs/cppapiframework/security/code-scanning/1
To resolve the issue, replace the use of
std::gmtimein theformatfunction with its thread-safe variant. On platforms wheregmtime_ris available (POSIX), it should be used instead; on Windows, usegmtime_s. Since we need to allocate atmstruct on the stack and pass its pointer to the respective function, this fits well. If the codebase needs to remain portable across platforms, a preprocessor check can be added to select the correct version.Specifically:
formatfunction insrc/PistacheCustomHttpHeaders/LastModified.hppat lines 39-46.tm tm_timestruct on the stack.std::gmtime(&cftime)with a thread-safe alternative, usinggmtime_rwhere available andgmtime_son MSVC/Windows.tmstruct tostrftime.You may also need to include
<ctime>/<time.h>and possibly include guards for platform-specific code.Suggested fixes powered by Copilot Autofix. Review carefully before merging.