- Joined
- Apr 18, 2010
- Messages
- 674
- Reaction score
- 393
I've been debugging and looking over my source for hours on this problem.
Google brought some insight on what could be the issue, but I still don't see what could be the problem.
As far as I digged into it, "MCommand::ZPost( pCmd );" is causing the issue.
I've been up almost all night attempting to resolve this. I'm not mixing debug and release mode either.
What could be the issue?
Edit-
Should of mentioned...
When debugging, it stops in ntdll after an interrupt 3/INT3/Whatever.
After just continuing execution, the code works fine (no crashes, nothing) and does as it's intended.
Google brought some insight on what could be the issue, but I still don't see what could be the problem.
Code:
EDX 0012F0F1 ASCII "nvalid address specified to RtlFreeHeap( 023B0000, 00224C88 )
"
Code:
char* szArg = "What";
MUID* uidChar = new MUID( );
MUID* uidChan = new MUID( );
uidChar->uidLow = GetMyUID( );
uidChan->uidHigh = GetChannelUID( );
MCommand* pCmd = MCommand::NewCmd( 0x4C9 );
pCmd->AddParameter( new MCommandParameterMUID( uidChar ) );
pCmd->AddParameter( new MCommandParameterMUID( uidChan ) );
pCmd->AddParameter( new MCommandParameterString( szArg ) );
MCommand::ZPost( pCmd );
As far as I digged into it, "MCommand::ZPost( pCmd );" is causing the issue.
Code:
static void ZPost( MCommand* pCmd )
{
__asm
{
MOV EAX, ZGetGameClientAddress
CALL EAX
PUSH pCmd
MOV EDX, [EAX]
MOV ECX, EAX
CALL [EDX + 0x30] // ;;; MClient::Post
}
}
I've been up almost all night attempting to resolve this. I'm not mixing debug and release mode either.
What could be the issue?
Edit-
Should of mentioned...
When debugging, it stops in ntdll after an interrupt 3/INT3/Whatever.
Code:
771D467F A3 48F01E77 MOV DWORD PTR DS:[771EF048],EAX
771D4684 CC INT3
771D4685 C605 4DF01E77 00 MOV BYTE PTR DS:[771EF04D],0 ;;Stops here
771D468C 5D POP EBP
771D468D C2 0400 RETN 4
After just continuing execution, the code works fine (no crashes, nothing) and does as it's intended.
Last edited: