Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ bezpieczeństwo if'a

Ostatnio zmodyfikowano 2020-06-10 19:41
Autor Wiadomość
Gildin213
Temat założony przez niniejszego użytkownika
C++ bezpieczeństwo if'a
» 2020-06-10 16:14:00
Hej!
Szybkie pytanie!

Czy if w c++ jest bezpieczny na stałej zmiennej typu const?

np
C/C++
const int Test = 12;
if( Test == 12 )
{
    printf( "Zmienna Test = %d,Test);
}
else
{
    printf( "Zmienna Test = %d (zły wynik), Test);
}

Czy łatwo taką zmienną, zmienić np jakimś edytorem pamięci?
P-177030
DejaVu
» 2020-06-10 17:27:38
Wszystko da się zmienić w pliku wynikowym. Poza tym kompilator i tak zoptymalizuje ten kod i nawet warunku może nie być w kodzie wynikowym.
P-177031
pekfos
» 2020-06-10 19:41:28
Program się wykonuje dokładnie tak, jak go zapiszesz. Chyba że mowa o programie do którego użytkownik ma fizyczny dostęp, wtedy działanie programu jest z definicji niezaufane. Użytkownik nie ma żadnego interesu w psuciu sobie programu, a jeśli jest coś do zyskania we wprowadzaniu innych modyfikacji, lub samym czytaniu, to sam jesteś sobie temu winien jako autor. Co to za paranoja, że szukasz niebezpieczeństwa w pojedynczych ifach? Milion takich elementów złoży się w funkcjonalność, która jest bezpieczna, albo nie. Analizujesz pod mikroskopem każde włókienko papieru, a przegapisz że zapisałeś na nim swoje hasło.
Poza tym, nawet znany niebezpieczny element nie musi być niebezpieczny w kontekście. Żeby nie szukać daleko, funkcja printf() jest niebezpieczna, gdy niepoprawnie użyta. Bardziej niż if kiedykolwiek będzie..
P-177033
« 1 »
  Strona 1 z 1