Skocz do zawartości
Opublikowano

Cześć wszystkim,😊

 

Podczas przeglądania kodu znalazłem problem w funkcji 'do_shutdown'. W oryginalnym kodzie nie było sprawdzania, czy wskaźnik postaci (ch) jest nullem, a jednak próbował korzystać z metod związanych z postacią, co mogło prowadzić do niezdefiniowanego zachowania. Co więcej, funkcja nie sprawdzała, czy dana postać posiada uprawnienia GM przed próbą wyłączenia serwera, co stanowiło potencjalne ryzyko związane z bezpieczeństwem.

 

🧩 Rozwiązanie:
📂 Lokalizacja pliku: 'game -> cmd_general.cpp'

 

🔍 Szukamy funkcji:

🔐 Ukryta Treść 🔐

 

🔄 Zmieniamy na poprawioną wersję:

🔐 Ukryta Treść 🔐

 

W powyższej wersji dokonałem następujących zmian:

  • Zabezpieczyłem kod przed niebezpiecznym dostępem do metody GetName(), jeśli wskaźnik ch jest nullem.
  • Dodałem kontrolę uprawnień GM, aby upewnić się, że tylko postacie z odpowiednimi uprawnieniami mają możliwość wywołania tej funkcji.

 

Featured Replies

Opublikowano

 

 

Wspaniale, że udostępniłeś kod naprawiający ten błąd!

 

Opublikowano

Dziekuje ci za pomoc ❤️

  • 2 miesiące temu...
Opublikowano

dZIĘKI

  • 2 miesiące temu...
Opublikowano

Dzięki

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...