externpro 26.01.1-9-g32f46e4#5
Merged
Merged
Conversation
- Update minimum CMake version from 3.31 to 4.3 - Remove XP_NAMESPACE and xproinc.cmake inclusion (now part of CMakePresets) - Package name and Target Namespace now match - Make xpExternPackage conditional 'if(COMMAND' - add CMAKE_EXPERIMENTAL_GENERATE_SBOM in presets
- Update xpFindPkg to use GTest:: targets instead of xpro:: - Add Threads dependency so GTest can be found via CPS - Enable test builds (remove if(FALSE) condition) - Set C++14 standard for test targets only (Google Test v1.16.0+ requires C++14) - Keep main library at C++11 compatibility This allows tests to build with newer Google Test versions while maintaining backward compatibility for the main RapidJSON library.
- Replace sprintf() with snprintf() throughout test code to fix deprecation warnings - Fix sign conversion warnings in readertest.cpp by using auto type deduction - Update TYPED_TEST_CASE to TYPED_TEST_SUITE for Google Test v1.16.0+ compatibility - Maintain buffer safety with proper sizeof() parameters for all snprintf calls These changes resolve compilation errors when building with -Werror and modern compiler warnings while preserving all existing functionality.
- Increase buffer sizes from 1024 to 4096 bytes in test file path handling - Prevents GCC -Werror=format-truncation= warnings when concatenating paths - Updates all affected test files that use snprintf for path construction - Maintains buffer safety while providing adequate space for long file paths Resolves Linux build failures with GCC while preserving cross-platform compatibility.
- Increase temp buffer size in u32toa_naive from 10 to 12 bytes - Increase temp buffer size in u64toa_naive from 20 to 22 bytes - Prevents GCC -Werror=stringop-overflow warnings on maximum integer values - Provides adequate space for digit conversion algorithm overhead Resolves CI build failures with strict compiler overflow detection.
- Fix memmove and memcpy operations to copy from s.s instead of s - Resolves GCC array-bounds warning in UTF16 string handling - GenericStringRef contains string data in 's' member, not the object itself - Prevents potential buffer overflow detection by strict compilers Fixes CI build failures on platforms with aggressive array-bounds checking.
- Only run valgrind test when build type is Debug or Release - Prevents valgrind test failure when using RelWithDebInfo build type - Matches unittest test availability conditions - Fixes CI test failures on Linux containers with non-standard build types Resolves "No such file or directory" errors when unittest executable is not available for the current build configuration.
- Replace std::memmove and std::memcpy with explicit loops - Prevents GCC array-bounds warnings in UTF16 string handling - Compiler cannot verify source buffer size for bulk operations - Character-by-character copy avoids static analysis bounds checking - Maintains identical functionality for all string encodings Resolves CI build failures on platforms with aggressive compiler bounds checking and optimization levels. (rocky8-gcc9)
- Increase uint32_t/int32_t buffer sizes from 11/12 to 16 bytes - Increase uint64_t/int64_t buffer sizes from 21/22 to 24 bytes - Increase temp buffers in u32toa_naive and u64toa_naive functions - Prevents GCC -Werror=stringop-overflow warnings on maximum values - Provides safety margin for integer-to-string conversion algorithms Resolves CI build failures with strict compiler overflow detection and ensures adequate space for all possible integer values.
- Add null pointer validation before accessing string source data - Ensure source buffer is valid before character-by-character copy - Provide safe fallback (null terminator) when source is invalid - Prevents GCC array-bounds warnings in UTF16 string handling - Maintains functionality while satisfying strict compiler analysis Resolves CI build failures on platforms with aggressive bounds checking and prevents potential access to invalid memory locations.
- Add validation before memcpy in Append token operation - Ensure both destination and source pointers are valid - Add null check for nameBuffer_ in CopyFromRaw function - Prevents GCC stringop-overflow and array-bounds warnings - Maintains functionality while preventing invalid memory access Resolves CI build failures on platforms with strict compiler bounds checking and prevents potential crashes from null pointers.
Collaborator
Author
|
issue externpro/externpro#322 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Update externpro submodule to
26.01.1-9-g32f46e4Changes
.devcontainerto externpro26.01.1-9-g32f46e4b05bee72bf7b2b09fe21b2247e5d322d1667529f32f46e487d55910b4a899c06d96fa4753b959826.github/release-tag.json(tag:xpv1.1.0-763.4)Workflow Update Report
jobs.linux.with.cmake_workflow_preset_suffix(renamed fromcmake-workflow-preset)jobs.macos.with.cmake_workflow_preset_suffix(renamed fromcmake-workflow-preset)jobs.windows.with.cmake_workflow_preset_suffix(renamed fromcmake-workflow-preset)cmake-workflow-preset->cmake_workflow_preset_suffixCMakePresets.json
.devcontainer/cmake/presets/xpWindowsVs2022.jsoninclude and stagedCMakePresets.jsonThis PR was created automatically by GitHub Actions