-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
configure: Raise FORTIFY_SOURCE level to 3 #51
Conversation
The present GCC supports level 3 for some time, try using it.
Let's see where CUPS 2.x issue 642 goes before we adopt this here. Info about what level 3 does is here FWIW, there is a cost of using this (both code size and execution time), which we should also look at. |
"make test" times in the "cups" directory (so not the ippeveprinter tests) with level 2 on Ubuntu 22.04 LTS running in multipass on my M1 Max MacBook Pro:
Level 3, same system:
So it doesn't look like there is any measurable overhead for using level 3. (there is that one odd real time for the second level 3 run, but I know I didn't wait 27 minutes so ??? User and system times are pretty much the same across the board. |
Sizes of the level 2 object files is 5198576 bytes:
Level 3 sizes also total 5198576 bytes:
So either the GCC in Ubuntu 22.04 LTS (11.3.0) doesn't actually support |
Hi Mike, I'll add the statistics from Fedora 38 regarding _FORTIFY_SOURCE=3, but as fas as I can tell it works here - I have a detected buffer overflow in pappl due the new level (reproduceable if pappl is built with _FORTIFY_SOURCE=3 and you start lprint) - I'll send the PR right away (we subtract a higher pointer from a lower one). |
The present GCC supports level 3 for some time, try using it.