Changeset 538

Show
Ignore:
Timestamp:
04/30/06 14:46:21 (3 years ago)
Author:
common
Message:

nepenthes
- vuln-{bagle,mydoom} fixes bad return values when the connection is closed, which lead to an endless loop eating all your memory

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nepenthes/trunk/modules/vuln-bagle/BagleDialogue.cpp

    r496 r538  
    159159                                m_Download = new Download(m_Socket->getRemoteHost(),"bagle://",m_Socket->getRemoteHost(),"bagle://foo/bar"); 
    160160                                m_Download->getDownloadBuffer()->addData(msg->getMsg()+4,msg->getSize()-4); 
     161                                return CL_ASSIGN_AND_DONE; 
    161162                        } 
    162163                } 
     
    166167                // FIXME m_MaxFileSize 
    167168                m_Download->getDownloadBuffer()->addData(msg->getMsg(),msg->getSize()); 
     169                return CL_ASSIGN_AND_DONE; 
    168170                break; 
    169171 
     
    233235                { 
    234236                        g_Nepenthes->getSubmitMgr()->addSubmission(m_Download); 
    235                         // destructor will delete it 
    236                         return CL_ASSIGN_AND_DONE; 
    237237                } 
    238238        } 
  • nepenthes/trunk/modules/vuln-mydoom/MydoomDialogue.cpp

    r495 r538  
    121121                                m_Download->getDownloadBuffer()->addData((char *)m_Buffer->getData(),m_Buffer->getSize()); 
    122122                                m_Buffer->clear(); 
    123                                 return CL_ASSIGN
     123                                return CL_ASSIGN_AND_DONE
    124124                        } 
    125125                } 
     
    131131                { 
    132132                        m_Download->getDownloadBuffer()->addData((char *)msg->getMsg(),msg->getSize()); 
     133                        return CL_ASSIGN_AND_DONE; 
    133134                } 
    134135                break; 
     
    197198        { 
    198199        g_Nepenthes->getSubmitMgr()->addSubmission(m_Download); 
    199                 return CL_ASSIGN_AND_DONE; 
    200200        } 
    201201        return CL_DROP;