mavzermete 1
mavzermete
Test5410 1
Test5410
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Reklam vermek için turkmmo@gmail.com

Shutdown komutu düzeltmesi

  • Konuyu başlatan Konuyu başlatan .0x0
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 5
  • Görüntüleme Görüntüleme 2K
Merhabalar, shutdown kullanan server sahipleri varmı bilmiyorum ama zamanında fonksiyon yazılırken pointer kontrolünde bir hata yapılmış ve çoğu kişide farkında değil;
C++:
ACMD(do_shutdown)
{
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}

Fonksiyonu bu şekilde değiştirdiğinizde sorun kalmayacaktır;
Kod:
ACMD(do_shutdown)
{
    if (!ch)
        return;

    sys_err("Accept shutdown command from %s.", ch->GetName());
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}
 

En Çok Reaksiyon Alan Mesajlar

ne gibi bir soruna yol açabilir ki anlamadım ben shutdown kullandığımda bir problem yaşamıyorum biraz daha beni bilgilendirir misiniz ?
Sorun şurda;
C++:
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }

ch nin null olup syserr de ch->GetName() fonksiyonu kullanılması, ch eğer null olursa oyun core vericektir tabi ch nin null olması çok düşük bir ihtimal ama genede böyle bir ihtimal var.
Merhabalar, shutdown kullanan server sahipleri varmı bilmiyorum ama zamanında fonksiyon yazılırken pointer kontrolünde bir hata yapılmış ve çoğu kişide farkında değil;
C++:
ACMD(do_shutdown)
{
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}

Fonksiyonu bu şekilde değiştirdiğinizde sorun kalmayacaktır;
Kod:
ACMD(do_shutdown)
{
    if (!ch)
        return;

    sys_err("Accept shutdown command from %s.", ch->GetName());
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}
ne gibi bir soruna yol açabilir ki anlamadım ben shutdown kullandığımda bir problem yaşamıyorum biraz daha beni bilgilendirir misiniz ?
Merhabalar, shutdown kullanan server sahipleri varmı bilmiyorum ama zamanında fonksiyon yazılırken pointer kontrolünde bir hata yapılmış ve çoğu kişide farkında değil;
C++:
ACMD(do_shutdown)
{
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}

Fonksiyonu bu şekilde değiştirdiğinizde sorun kalmayacaktır;
Kod:
ACMD(do_shutdown)
{
    if (!ch)
        return;

    sys_err("Accept shutdown command from %s.", ch->GetName());
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}
şaka gibi ya gerçi sadece implementor kullanabiliyordu shutdown yanlış hatırlamıyorsam implementor olupta kendi serverına null pointer la saldıracak biri olmadığı için dikkatimizi çekmedi demekki şimdiye kadar asdfsgsasdf
 
Merhabalar, shutdown kullanan server sahipleri varmı bilmiyorum ama zamanında fonksiyon yazılırken pointer kontrolünde bir hata yapılmış ve çoğu kişide farkında değil;
C++:
ACMD(do_shutdown)
{
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}

Fonksiyonu bu şekilde değiştirdiğinizde sorun kalmayacaktır;
Kod:
ACMD(do_shutdown)
{
    if (!ch)
        return;

    sys_err("Accept shutdown command from %s.", ch->GetName());
    TPacketGGShutdown p;
    p.bHeader = HEADER_GG_SHUTDOWN;
    P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShutdown));

    Shutdown(10);
}
ne gibi bir soruna yol açabilir ki anlamadım ben shutdown kullandığımda bir problem yaşamıyorum biraz daha beni bilgilendirir misiniz ?
 
ne gibi bir soruna yol açabilir ki anlamadım ben shutdown kullandığımda bir problem yaşamıyorum biraz daha beni bilgilendirir misiniz ?
Sorun şurda;
C++:
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }

ch nin null olup syserr de ch->GetName() fonksiyonu kullanılması, ch eğer null olursa oyun core vericektir tabi ch nin null olması çok düşük bir ihtimal ama genede böyle bir ihtimal var.
 
Sorun şurda;
C++:
    if (NULL == ch)
    {
        sys_err("Accept shutdown command from %s.", ch->GetName());
    }

ch nin null olup syserr de ch->GetName() fonksiyonu kullanılması, ch eğer null olursa oyun core vericektir tabi ch nin null olması çok düşük bir ihtimal ama genede böyle bir ihtimal var.
anladım teşekkürler bilgilendirme için
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst