Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does ----s mean in the context of StringBuilder.ToString()?

The Reference Source page for stringbuilder.cs has this comment in the ToString method:

if (chunk.m_ChunkLength > 0) {     // Copy these into local variables so that they      // are stable even in the presence of ----s (hackers might do this)     char[] sourceArray = chunk.m_ChunkChars;     int chunkOffset = chunk.m_ChunkOffset;     int chunkLength = chunk.m_ChunkLength; 

What does this mean? Is ----s something a malicious user might insert into a string to be formatted?

like image 721
Micteu Avatar asked Jun 03 '15 22:06

Micteu


2 Answers

The source code for the published Reference Source is pushed through a filter that removes objectionable content from the source. Verboten words are one, Microsoft programmers use profanity in their comments. So are the names of devs, Microsoft wants to hide their identity. Such a word or name is substituted by dashes.

In this case you can tell what used to be there from the CoreCLR, the open-sourced version of the .NET Framework. It is a verboten word:

// Copy these into local variables so that they are stable even in the presence of race conditions

Which was hand-edited from the original that you looked at before being submitted to Github, Microsoft also doesn't want to accuse their customers of being hackers, it originally said races, thus turning into ----s :)

like image 117
Hans Passant Avatar answered Oct 09 '22 11:10

Hans Passant


In the CoreCLR repository you have a fuller quote:

Copy these into local variables so that they are stable even in the presence of race conditions

Github

Basically: it's a threading consideration.

like image 30
Jeroen Vannevel Avatar answered Oct 09 '22 12:10

Jeroen Vannevel