You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 line
3.3KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  6. <title>Stack Smashing Protection (The Red Hat newlib C Library)</title>
  7. <meta name="description" content="Stack Smashing Protection (The Red Hat newlib C Library)">
  8. <meta name="keywords" content="Stack Smashing Protection (The Red Hat newlib C Library)">
  9. <meta name="resource-type" content="document">
  10. <meta name="distribution" content="global">
  11. <meta name="Generator" content="makeinfo">
  12. <link href="index.html#Top" rel="start" title="Top">
  13. <link href="Document-Index.html#Document-Index" rel="index" title="Document Index">
  14. <link href="Document-Index.html#SEC_Contents" rel="contents" title="Table of Contents">
  15. <link href="Overflow-Protection.html#Overflow-Protection" rel="up" title="Overflow Protection">
  16. <link href="Object-Size-Checking.html#Object-Size-Checking" rel="next" title="Object Size Checking">
  17. <link href="Overflow-Protection.html#Overflow-Protection" rel="prev" title="Overflow Protection">
  18. <style type="text/css">
  19. <!--
  20. a.summary-letter {text-decoration: none}
  21. blockquote.indentedblock {margin-right: 0em}
  22. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  23. blockquote.smallquotation {font-size: smaller}
  24. div.display {margin-left: 3.2em}
  25. div.example {margin-left: 3.2em}
  26. div.lisp {margin-left: 3.2em}
  27. div.smalldisplay {margin-left: 3.2em}
  28. div.smallexample {margin-left: 3.2em}
  29. div.smalllisp {margin-left: 3.2em}
  30. kbd {font-style: oblique}
  31. pre.display {font-family: inherit}
  32. pre.format {font-family: inherit}
  33. pre.menu-comment {font-family: serif}
  34. pre.menu-preformatted {font-family: serif}
  35. pre.smalldisplay {font-family: inherit; font-size: smaller}
  36. pre.smallexample {font-size: smaller}
  37. pre.smallformat {font-family: inherit; font-size: smaller}
  38. pre.smalllisp {font-size: smaller}
  39. span.nolinebreak {white-space: nowrap}
  40. span.roman {font-family: initial; font-weight: normal}
  41. span.sansserif {font-family: sans-serif; font-weight: normal}
  42. ul.no-bullet {list-style: none}
  43. -->
  44. </style>
  45. </head>
  46. <body lang="en">
  47. <a name="Stack-Smashing-Protection"></a>
  48. <div class="header">
  49. <p>
  50. Next: <a href="Object-Size-Checking.html#Object-Size-Checking" accesskey="n" rel="next">Object Size Checking</a>, Up: <a href="Overflow-Protection.html#Overflow-Protection" accesskey="u" rel="up">Overflow Protection</a> &nbsp; [<a href="Document-Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Document-Index.html#Document-Index" title="Index" rel="index">Index</a>]</p>
  51. </div>
  52. <hr>
  53. <a name="Stack-Smashing-Protection-1"></a>
  54. <h3 class="section">12.1 Stack Smashing Protection</h3>
  55. <p>Stack Smashing Protection is a compiler feature which emits extra code
  56. to check for stack smashing attacks. It depends on a canary, which is
  57. initialized with the process, and functions for process termination when
  58. an overflow is detected. These are private entry points intended solely
  59. for use by the compiler, and are used when any of the <code>-fstack-protector</code>,
  60. <code>-fstack-protector-all</code>, <code>-fstack-protector-explicit</code>, or
  61. <code>-fstack-protector-strong</code> compiler flags are enabled.
  62. </p>
  63. </body>
  64. </html>