<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[cin und Buffer Overflow]]></title><description><![CDATA[<p>Hallo,<br />
also in C wissen wir ja alle, dass solch ein Code anfällig für Buffer Overflow ist:</p>
<p>char string[10];<br />
scanf(&quot;%s&quot;,string);</p>
<p>Eine Lösung dafür wäre:<br />
scanf(&quot;%9s&quot;,string);</p>
<p>Oder fgets(); etc. zu benutzen.</p>
<p>Aber wie sieht das jetzt in C++ aus:<br />
char string[10];<br />
cin &gt;&gt; string;</p>
<p>Dies läuft ja auch über, wenn ich mehr als 10 Zeichen eintippe. Allerdings habe ich bisher noch in keinem Buch gesehen, wie man die Länge der Eingabe bei cin; begrenzen kann.<br />
Außerdem beziehen sich die meisten Artikel über Buffer Overflow auf scanf(); oder strcpy(); (etc).</p>
<p>Muss man hier also auf eine andere Funktion umsteigen, oder kann ich bei cin angeben, wie lang die Eingabe sein soll?</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/129446/cin-und-buffer-overflow</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 06:06:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/129446.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Dec 2005 18:13:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cin und Buffer Overflow on Tue, 13 Dec 2005 18:13:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
also in C wissen wir ja alle, dass solch ein Code anfällig für Buffer Overflow ist:</p>
<p>char string[10];<br />
scanf(&quot;%s&quot;,string);</p>
<p>Eine Lösung dafür wäre:<br />
scanf(&quot;%9s&quot;,string);</p>
<p>Oder fgets(); etc. zu benutzen.</p>
<p>Aber wie sieht das jetzt in C++ aus:<br />
char string[10];<br />
cin &gt;&gt; string;</p>
<p>Dies läuft ja auch über, wenn ich mehr als 10 Zeichen eintippe. Allerdings habe ich bisher noch in keinem Buch gesehen, wie man die Länge der Eingabe bei cin; begrenzen kann.<br />
Außerdem beziehen sich die meisten Artikel über Buffer Overflow auf scanf(); oder strcpy(); (etc).</p>
<p>Muss man hier also auf eine andere Funktion umsteigen, oder kann ich bei cin angeben, wie lang die Eingabe sein soll?</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941293</guid><dc:creator><![CDATA[Qwald]]></dc:creator><pubDate>Tue, 13 Dec 2005 18:13:24 GMT</pubDate></item><item><title><![CDATA[Reply to cin und Buffer Overflow on Tue, 13 Dec 2005 18:23:49 GMT]]></title><description><![CDATA[<p>Man könnte einfach googlen, dann käme man beim zweiten Ergebnis zu <a href="https://buildsecurityin.us-cert.gov/portal/article/knowledge/coding_rules/RULE_0021.xml" rel="nofollow">dem hier</a>.</p>
<p>Es hätte mich auch schwer gewundert, wenn cstdio den iostreams etwas voraus hätte :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941305</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Tue, 13 Dec 2005 18:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to cin und Buffer Overflow on Tue, 13 Dec 2005 18:35:27 GMT]]></title><description><![CDATA[<p>Ich les dazu immer einen String ein, so kann ich nicht nur die Länge angeben sondern auch gleich Whitespace, etc. miteinbeziehen</p>
<pre><code class="language-cpp">char myStr [100];
cin.getline(myStr,10);

// even better
#include &lt;string&gt;
...
string  myStr;
getline(cin,myStr);
</code></pre>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/941321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/941321</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Tue, 13 Dec 2005 18:35:27 GMT</pubDate></item></channel></rss>