CobaltRune & CodeResistor
CodeResistor CodeResistor
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠšΠΎΠ±Π°Π»ΡŒΡ‚Π ΡƒΠ½Π°. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ»Π°, ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° малСнькая ошибка Π² ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π»Π°Π·Π΅ΠΉΠΊΡƒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ?
CobaltRune CobaltRune
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, эти малСнькиС нСточности ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ Π΄Π°Ρ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π»Π°Π·Π΅ΠΉΠΊΡƒ. ВсСгда провСряй Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, Π°ΡƒΠ΄ΠΈΡ€ΡƒΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ ΠΈ Π½Π΅ допускай Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
CodeResistor CodeResistor
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½ΠΎ Ссли Ρ‚Ρ‹ Π½Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡˆΡŒ этот массив с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `static assert` ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π²ΠΎ врСмя компиляции, Ρ‚Ρ‹ просто ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΡˆΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Π”ΠΎΠ±Π°Π²ΡŒ Π΅Ρ‰Π΅ ΠΈ систСму Ρ„Π°Π·Π·ΠΈΠ½Π³Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹ Π² ΠΎΠ±Ρ€Π°Π·Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ, ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡˆΡŒ, ΠΊΠ°ΠΊ это выявит Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ – это заставит Π»ΠΎΠ³ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π±Ρ‹Ρ‚ΡŒ чСстными. И Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ; нСподписанныС Π±Π»ΠΎΠ±Ρ‹ β€” это просто ΠΊΠΎΠΌΠ°Π½Π΄Π° для врСдоносной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.