Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

72 lines
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>