Re: Stack protector: Suggestions for documentation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 23 October 2017 at 08:53, Martin Richtarsky wrote:
> Hi,
>
> I've written a small blog post about the stack protector:
>
> http://www.productive-cpp.com/hardening-cpp-programs-stack-protector/
>
> While playing around with the features, I noticed that they do not behave
> exactly as documented:
>
> https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
>
> "-fstack-protector"
>
> Emit extra code to check for buffer overflows, such as stack smashing
> attacks. This is done by adding a guard variable to functions with
> vulnerable objects. This includes functions that call alloca, and
> _functions with buffers larger than 8 bytes_. The guards are initialized
> when a function is entered and then checked when the function exits. If a
> guard check fails, an error message is printed and the program exits.
>
> "with buffers larger than 8 bytes" - here I found that a buffer of exactly
> 8 bytes is also instrumented.
>
> The documentation only talks about buffers. This might be mistaken for
> arrays in general. It might be clearer to state that only char arrays are
> instrumented (and not e.g. wchar!)

I don't know enough about stack protector to say but I assume your
findings are right, and so these seem like good suggestions to improve
the docs.


> I can also make the appropriate changes if you can point me to a page
> describing the process.

The process of contributing a patch is described at
https://gcc.gnu.org/contribute.html

I don't think the two tweaks you're proposing would be legally
significant, so would probably not require a copyright assignment
(although if you plan to contribute anything else to GCC in future I
would encourage you to complete the assignment process :-)

The sources for those docs are the file gcc/doc/invoke.texi so once
you have a patch you would send it to the gcc-patches mailing list for
review and to be committed to source control.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux