[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug report about certi 3.2.2
From: |
moosefly |
Subject: |
bug report about certi 3.2.2 |
Date: |
Wed, 31 Jan 2007 08:58:04 +0800 |
Hi~
Firstly,sorry for my poor English.
I have port certi to win32 by vc++ 2005 express compiler, and it works
well.But there are some bugs under the vc8 compiler.
1. In the NetworkMessage_RW.cc "NetworkMessage::readBody"
Compared with Message_RW.cc,I have found some difference. In the
Message::readBody, we use "MessageBody body(header.bodySize)" to
construct a messagebody and allocate some memory, but in the
NetworkMessage::readBody ,we just announced "MessageBody body;", there
is no memory allocated .So, an overflow error may occur when the
program read some network message.
I change it from "MessageBody body;" to "MessageBody
body(Header.bodySize) ;" just like Message::readBody in the
NetworkMessage::readBody.
2. In the RTIA_network.cc "RTIA::processNetworkMessage(NetworkMessage *msg)"
In this function, we do some job by the type of msg then save the
stat, so the code just like :
switch(msg->type) {
case a:
{
...
}
case b:
{
...
}
case c:
{
...
}
......
}
stat.rtiService(msg->type);
In some case, msg maybe changed and it become invalid pointer, for
example , when process the SET_TIME_REGULATING msg , so the msg
deleted the in these case .
But even the msg deleted, the last line "stat.rtiService(msg->type);"
still need to run, so error occurs because the msg is an invalid
pointer currently.
I don't know how to fix it and I just comment the last line.
Now , I can run the billard demo under the win32 wrapped by wxwidgets
and I prepare to use certi to some project in my job.
Lastly, certi is a great job,best regards.
address@hidden
2007.1.31
- bug report about certi 3.2.2,
moosefly <=