<div dir="ltr">guys,<br><br>it&#39;s not my role,<br>but keep calm :-)<br><br>Better not to shame anyone, about saying it&#39;s spam, or betting about age.<br><br>Amit, most of us guess that the subject is a bit unproper here, but anyway better to ask if this helps you.<br><br>C++ is not only OOP-oriented but also functional programming.<br>Anyway, let&#39;s not digress.<br><br>Hope you were convinced that the feature to force accessing private (which is a bad practice expect rare cases) is not a security issue.<br>Note also that old-style cast was to support retro-compatibility at that time with C.<br><br>Anyway, other people know better than me about history. I am just a user as you are :-)<br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Il giorno lun 17 feb 2025 alle ore 12:10 Amit via Std-Discussion &lt;<a href="mailto:std-discussion@lists.isocpp.org">std-discussion@lists.isocpp.org</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">How do you know when I was born? I have seen many people on mailing lists who make assumptions without thinking much.</div><div dir="auto"><br></div><div dir="auto">I was born before Microsoft was born.</div><div dir="auto"><br></div><div dir="auto"><br></div>Well, I had identified the private keyword flaw in 2004 but I didn&#39;t do anything about it.<div dir="auto"><br></div><div dir="auto">I actually wouldn&#39;t have designed C++ this way where a key feature of the language can be rendered useless so easily.</div><div dir="auto"><br></div><div dir="auto">But anyways, I don&#39;t program in C++ and will never program in C++ even if I am getting less salary in any other language.</div><div dir="auto"><br></div><div dir="auto">I just don&#39;t like C++ because it is not a truly object oriented language. Friend functions break the whole object oriented concept. Besides, I think C++ is a complex language and good/expert programmers are hard to find.</div><div dir="auto"><br></div><div dir="auto">Other than google, I know of few projects that failed because it was in C++, not many experts available in C++.</div><div dir="auto"><br></div><div dir="auto">In fact I have always stopped moving my project(s) from C to C++.</div><div dir="auto"><br></div><div dir="auto">I have also seen few projects that just used C++ to wrap C code.</div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Amit</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 17, 2025, 4:11 PM Tiago Freire &lt;<a href="mailto:tmiguelf@hotmail.com" target="_blank">tmiguelf@hotmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div>
<p class="MsoNormal">What you are describing is known to every developer that is learning how to code, it has been there for over 30 years.<u></u><u></u></p>
<p class="MsoNormal">In fact, this is not exclusive to C++, it’s been a thing in programming since before you were born.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Wouldn’t you think if it was such a security risk as you claim, that developers wouldn’t have patch that by now?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Or is it rather more likely that we know something you don’t?<u></u><u></u></p>
<p class="MsoNormal">                                                                      
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Amit &lt;<a href="mailto:amitchoudhary0523@gmail.com" rel="noreferrer" target="_blank">amitchoudhary0523@gmail.com</a>&gt;
<br>
<b>Sent:</b> Monday, February 17, 2025 11:10 AM<br>
<b>To:</b> Tiago Freire &lt;<a href="mailto:tmiguelf@hotmail.com" rel="noreferrer" target="_blank">tmiguelf@hotmail.com</a>&gt;<br>
<b>Cc:</b> <a href="mailto:std-discussion@lists.isocpp.org" rel="noreferrer" target="_blank">std-discussion@lists.isocpp.org</a>; Jan Schultke &lt;<a href="mailto:janschultke@googlemail.com" rel="noreferrer" target="_blank">janschultke@googlemail.com</a>&gt;<br>
<b>Subject:</b> Re: [std-discussion] C++ language has a big security hole.<u></u><u></u></span></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">I don&#39;t know. I am not a hacker. I am just saying that may be hackers know or may be not.<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">But I can definitely mess up any object. So, data is not quite safe in C++ as it has been advertised.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">&quot;Private variables in a C++ class can&#39;t be accessed directly&quot; is a very popular statement.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Amit<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Feb 17, 2025, 3:29<span style="font-family:Arial,sans-serif"> </span>PM Tiago Freire &lt;<a href="mailto:tmiguelf@hotmail.com" rel="noreferrer" target="_blank">tmiguelf@hotmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<div>
<div>
<p class="MsoNormal">How?<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Std-Discussion &lt;</span><a href="mailto:std-discussion-bounces@lists.isocpp.org" rel="noreferrer" target="_blank"><span style="font-size:11pt;font-family:Calibri,sans-serif">std-discussion-bounces@lists.isocpp.org</span></a><span style="font-size:11pt;font-family:Calibri,sans-serif">&gt;
<b>On Behalf Of </b>Amit via Std-Discussion<br>
<b>Sent:</b> Monday, February 17, 2025 10:54 AM<br>
<b>To:</b> Jan Schultke &lt;</span><a href="mailto:janschultke@googlemail.com" rel="noreferrer" target="_blank"><span style="font-size:11pt;font-family:Calibri,sans-serif">janschultke@googlemail.com</span></a><span style="font-size:11pt;font-family:Calibri,sans-serif">&gt;<br>
<b>Cc:</b> Amit &lt;</span><a href="mailto:amitchoudhary0523@gmail.com" rel="noreferrer" target="_blank"><span style="font-size:11pt;font-family:Calibri,sans-serif">amitchoudhary0523@gmail.com</span></a><span style="font-size:11pt;font-family:Calibri,sans-serif">&gt;;
</span><a href="mailto:std-discussion@lists.isocpp.org" rel="noreferrer" target="_blank"><span style="font-size:11pt;font-family:Calibri,sans-serif">std-discussion@lists.isocpp.org</span></a><span style="font-size:11pt;font-family:Calibri,sans-serif"><br>
<b>Subject:</b> Re: [std-discussion] C++ language has a big security hole.</span><u></u><u></u></p>
</div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">In all C++ object layouts, I have seen that members follow the previous one as in a C structure.<u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">My main point is that hackers/bad people can take advantage of this.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Amit<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12pt"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Feb 17, 2025, 3:17<span style="font-family:Arial,sans-serif"> </span>PM Jan Schultke &lt;<a href="mailto:janschultke@googlemail.com" rel="noreferrer" target="_blank">janschultke@googlemail.com</a>&gt;
 wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<p class="MsoNormal">Your code has undefined behavior because you cannot obtain your j_ptr<br>
by doing i_ptr + 1. A past the end pointer is not a pointer to the<br>
next member.<br>
<br>
However, the example is correct without j_ptr. It is possible to<br>
obtain a pointer to the first member of a standard-layout class such<br>
as MyClass, even if that member is private.<br>
<br>
I wouldn&#39;t really call it a security hole. The only way you will do<br>
this in idiomatic C++ code is with reinterpret_cast, and<br>
reinterpret_cast is a giant red flag which says &quot;I&#39;m an expert, I know<br>
what I&#39;m doing, and what I&#39;m doing is potentially dangerous&quot;. This<br>
never happens by accident.<u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>

</blockquote></div>
-- <br>
Std-Discussion mailing list<br>
<a href="mailto:Std-Discussion@lists.isocpp.org" target="_blank">Std-Discussion@lists.isocpp.org</a><br>
<a href="https://lists.isocpp.org/mailman/listinfo.cgi/std-discussion" rel="noreferrer" target="_blank">https://lists.isocpp.org/mailman/listinfo.cgi/std-discussion</a><br>
</blockquote></div>

