Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
quickxd 1
quickxd
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

CreateWhisper fix memory leak

  • Konuyu başlatan Konuyu başlatan banzai2
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 278

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

std:🗺️:insert() does nothing when the key already exists. So every time CreateWhisper was called for an existing name (e.g. reopening a whisper window), a new CWhisper was allocated but never stored in the map and never freed — classic memory leak.

C++:
CWhisper * CPythonChat::CreateWhisper(const char * c_szName)
{
    CWhisper * pWhisper = CWhisper::New();
    m_WhisperMap.insert(TWhisperMap::value_type(c_szName, pWhisper));
    return pWhisper;
}

C++:
CWhisper * CPythonChat::CreateWhisper(const char * c_szName)
{
    TWhisperMap::iterator itor = m_WhisperMap.find(c_szName);
    if (itor != m_WhisperMap.end())
        return itor->second;

    CWhisper * pWhisper = CWhisper::New();
    m_WhisperMap.insert(TWhisperMap::value_type(c_szName, pWhisper));
    return pWhisper;
}
 

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

Geri
Üst