I don't suppose NUM_ROWS and MAX_PLAYERS are the same value? Also, could you share the fix for this? Is it safe to just allocate m_bHasBeenSorted to size NUM_ROWS? Or something more involved?
david -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Richard Taylor Sent: Sunday, June 16, 2002 11:42 AM To: [EMAIL PROTECTED] Subject: [hlcoders] Re: Heap Corruption (or hl sdk bug) This is a multi-part message in MIME format. -- [ Picked text/plain from multipart/alternative ] It appears that the heap corruption bug we've been looking for is in the hl sdk, so the chances are that it's in your mod as well (unless there is some sort of big conspiracy). Looking back the original problem only occurred when running release builds on win98 machines. The actual bug is only a small memory overwrite so when running a debug build it doesn't go past the extra overrun buffer added by the crt debug dll. Anyway in vgui_ScorePanel.h in the declaration of class ScorePanel there are 3 arrays. ... int m_iSortedRows[NUM_ROWS]; int m_iIsATeam[NUM_ROWS]; bool m_bHasBeenSorted[MAX_PLAYERS]; ... then in vgui_ScorePanel.cpp in void ScorePanel::Update() there is the following code ... // Clear out sorts for (int i = 0; i < NUM_ROWS; i++) { m_iSortedRows[i] = 0; m_iIsATeam[i] = TEAM_NO; m_bHasBeenSorted[i] = false; } ... This is obviously going to run right off the end of the classes allocated storage and into the heap allocation list. rich. P.S. please contact me about my usual consultancy fee :P -- _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

