Builder libpcap-solaris10-amd64 Build #3287
Results:
Build successful
SourceStamp:
| Project | libpcap |
| Repository | https://git.tcpdump.org/libpcap |
| Branch | master |
| Revision | 726d5040e216227a82da76e6e84177eaae286a08 |
| Got Revision | 726d5040e216227a82da76e6e84177eaae286a08 |
| Changes | 2 changes |
BuildSlave:
unstable10xReason:
The SingleBranchScheduler scheduler named 'schedule-libpcap-solaris10-amd64' triggered this build
Steps and Logfiles:
-
git update ( 5 secs )
-
shell Set developer mode ( 0 secs )
-
shell_1 './autogen.sh' ( 6 secs )
-
shell_2 './configure' ( 45 secs )
-
shell_3 'gmake' ( 22 secs )
-
shell_4 'gmake check' ( 13 mins, 40 secs )
-
shell_5 'rm -rf ...' ( 0 secs )
-
shell_6 'gmake install ...' ( 3 secs )
-
trigger triggered trigger-tcpdump-solaris10-amd64 ( 6 mins, 14 secs )
- - no logs -
- tcpdump-solaris10-amd64 #6176
Build Properties:
| Name | Value | Source |
|---|---|---|
| branch | master | Build |
| builddir | /export/home/buildbot/slave/libpcap-solaris10-amd64 | slave |
| buildername | libpcap-solaris10-amd64 | Builder |
| buildnumber | 3287 | Build |
| codebase | Build | |
| got_revision | 726d5040e216227a82da76e6e84177eaae286a08 | Git |
| project | libpcap | Build |
| repository | https://git.tcpdump.org/libpcap | Build |
| revision | 726d5040e216227a82da76e6e84177eaae286a08 | Build |
| scheduler | schedule-libpcap-solaris10-amd64 | Scheduler |
| slavename | unstable10x | BuildSlave |
| workdir | /export/home/buildbot/slave/libpcap-solaris10-amd64 | slave (deprecated) |
Forced Build Properties:
| Name | Label | Value |
|---|
Responsible Users:
- Denis Ovsienkodenis@ovsienko.info
Timing:
| Start | Mon Mar 30 14:24:55 2026 |
| End | Mon Mar 30 14:46:14 2026 |
| Elapsed | 21 mins, 18 secs |
All Changes:
:
Change #262844
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Sat 28 Mar 2026 12:50:50 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision 6cbce587926aa9e4c5a7749e41813f4ff1971578 Comments
Keep compiler_state_t.cur_chunk less than NCHUNKS. When newchunk_nolongjmp() finds that the current chunk does not have enough free space for the requested data size, it allocates the next chunk if the chunk count limit has not been reached, otherwise it returns an error. As Aniruddhan Murali from University of Waterloo points it out, in the latter case it also increments the chunk index beyond the end of the array, which potentially could cause an OOBR in a subsequent invocation of the function and snowball from there. However, the current definition of struct compiler_state_t means the first such subsequent invocation would read out of the array bounds, but still from within the structure and would always return an error. The only code path where this was possible always terminated parsing on the error, and no longer exists since commit 6fe3ac3, so by coincidence this bug has been harmless for a long time, if not always. To make this code obviously safe, first check that the current chunk is not the last, only then increment the chunk index, not the opposite way around. While at it, make the error message more useful for any future debugging and access the current chunk index without an intermediate variable.
Changed files
- gencode.c
Change #262845
Category libpcap Changed by Denis Ovsienko <denis@ovsienko.info> Changed at Sun 29 Mar 2026 14:42:19 Repository https://git.tcpdump.org/libpcap Project libpcap Branch master Revision 726d5040e216227a82da76e6e84177eaae286a08 Comments
Make other chunk allocation improvements. Make the chunk size an unary macro rather than a variable. Make chunk index unsigned. Introduce a helper function with additional validation and a more useful error message to initialise the current chunk. Use the latter in initchunks() to start the data allocations in chunk 0 rather than chunk 1. In newchunk_nolongjmp(), if the requested data size is too big for both the current chunk and the next chunk, there is no point in having the side effect of initialising the next chunk, so in this case just return an error early. Ibid., lose the pointer to the current chunk because using two ways to acess the same data creates a space for an error. Ibid., use the new helper function and make another error message more useful.
Changed files
- gencode.c