Merged
Conversation
342ed33 to
7dc9675
Compare
Codespell workflow (.github/workflows/codespell.yml) — automated spell checking on push/PR with a project-specific ignore list for common technical abbreviations (e.g., inh, rcv, ser).
Multi-compiler workflow (.github/workflows/multi-compiler.yml) — builds and runs unit tests for wolfIP against gcc-11/12/13 and clang-14/15/17 on Ubuntu.
Sanitizer workflow (.github/workflows/sanitizers.yml) — runs unit tests and standalone TTL tests under ASan, UBSan, and LeakSan to ensure memory safety and catch undefined behavior.
Build System Improvements
Makefile updates — added explicit targets for asan, ubsan, and leaksan with the necessary compiler and linker flags for automated testing.
Bug Fixes
Format Specifier Correction — updated src/port/posix/bsd_socket.c to use the correct %d specifier for getpid() in debug logs.
db09235 to
9b4f592
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances the wolfIP continuous integration infrastructure by adding three new GitHub Actions workflows for automated testing, updating the Makefile to support sanitizer builds, and fixing two minor issues found during testing.
Changes:
- Added CI workflows for spell checking (codespell), multi-compiler testing (gcc-11/12/13, clang-14/15/17), and sanitizer testing (ASan, UBSan, LeakSan)
- Extended Makefile with dedicated targets for UBSan and LeakSan sanitizers
- Fixed spelling error in comment and corrected format specifier for getpid() in debug logging
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/codespell.yml | Adds automated spell checking with project-specific ignore list for technical abbreviations |
| .github/workflows/multi-compiler.yml | Adds cross-compiler testing workflow for multiple gcc and clang versions |
| .github/workflows/sanitizers.yml | Adds sanitizer testing workflow for ASan, UBSan, and LeakSan |
| Makefile | Adds ubsan and leaksan targets with appropriate compiler and linker flags |
| src/wolfesp.c | Fixes typo in comment: "ofthe" → "of the" |
| src/port/posix/bsd_socket.c | Corrects format specifier for getpid() from %hu to %d |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Added unit-asan, unit-ubsan, and unit-leaksan targets that:
a. Apply the correct sanitizer flags via target-specific variables
b. Depend on clean-unit to force a rebuild with the new flags
c. Depend on build/test/unit to actually build the tests
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1. test_queue_insert_no_head_update_when_pos_plus_len_le_head: payload array increased from 4 to 8 bytes 2. test_udp_try_recv_conf_null and test_udp_try_recv_dhcp_running_local_zero: Changed from struct wolfIP_udp_datagram to buffer with payload space 3. test_forward_packet_filter_drop, test_forward_packet_send_paths, test_forward_packet_filter_drop_udp_icmp: Buffers increased to include TCP_HEADER_LEN 4. test_send_ttl_exceeded_filter_drop, test_send_ttl_exceeded_ip_filter_drop, test_send_ttl_exceeded_eth_filter_drop: Added 8 extra bytes for TTL_EXCEEDED_ORIG_PACKET_SIZE 5. test_ip_output_add_header: Changed to use struct wolfIP_tcp_seg 6. test_ip_output_add_header_icmp: Changed to use struct wolfIP_icmp_packet 7. test_tcp_recv_ack_mismatch_does_nothing: Added payload buffer space 8. test_arp_queue_packet_truncates_len: Changed to uint8_t ip_buf[LINK_MTU + 16] 9. test_wolfip_recv_on_forward_ttl_exceeded and test_ip_recv_forward_ttl_exceeded: Added 8 extra bytes for TTL processing 10. test_wolfip_forwarding_basic and test_wolfip_forwarding_ttl_expired: Changed to buffer with extra space for protocol headers
danielinux
approved these changes
Feb 24, 2026
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.
Description
.github/workflows/codespell.yml) — automated spell checking on push/PR with a project-specific ignore list for common technical abbreviations (e.g.,inh,rcv,ser)..github/workflows/multi-compiler.yml) — builds and runs unit tests for wolfIP against gcc-11/12/13 and clang-14/15/17 on Ubuntu..github/workflows/sanitizers.yml) — runs unit tests and standalone TTL tests under ASan, UBSan, and LeakSan to ensure memory safety and catch undefined behavior.asan,ubsan, andleaksanwith the necessary compiler and linker flags for automated testing.src/port/posix/bsd_socket.cto use the correct%dspecifier forgetpid()in debug logs.