SCTP Discussions

Text archives Help


Re: [SCTP-Discussion] Regarding the crash submission.


Chronological Thread 
  • From: Thomas Dreibholz <dreibh AT exp-math.uni-essen.de>
  • To: discussion AT sctp.de
  • Subject: Re: [SCTP-Discussion] Regarding the crash submission.
  • Date: Mon Apr 8 13:12:00 2002
  • List-id: SCTP Discussions <discussion.sctp.de>
  • Organization: University of Essen, Institute for Experimental Mathematics

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Montag, 08. April 2002 11:53 schrieben Sie:
> This is the recieving funktion that I use in my program. It's almost the
> same as the funktion in sctpterminal in socket_program subdir, except i put
> in a loop. Do you have any comments on this program ?

The function seems to be okay. Your gdb output shows that the problem is most
probably caused by the sctplib itself. It seems that the memory allocation
information is corrupted somewhere, e.g. by calling free() twice.

The loop should not cause a problem, since the clear() method re-initializes
the whole object (This method is also called by the constructor itself).


> void receiveResponse(Socket *clientSocket)
> {
> char buffer[16384];
> SocketMessage<CSpace(sizeof(sctp_sndrcvinfo))> message;
> while(1) {
> message.clear();
> message.setBuffer((char*)buffer,sizeof(buffer));
> // ====== Receive string from association =============================
> const ssize_t dataLength = clientSocket->receiveMsg(&message.Header,0);
> if(dataLength < 0) {
> cleanUpAndExit(1);
> }
> else{
> printControl(&message.Header);
> unsigned short streamID = 0;
> unsigned int protoID = 0;
> cmsghdr* cmsg = message.getFirstHeader();
> if(cmsg != NULL) {
> while(cmsg != NULL) {
> if((cmsg->cmsg_level == IPPROTO_SCTP) &&
> (cmsg->cmsg_type == SCTP_SNDRCV)) {
> sctp_sndrcvinfo* info = (sctp_sndrcvinfo*)CData(cmsg);
> streamID = info->sinfo_stream;
> protoID = info->sinfo_ppid;
> }
> cmsg = message.getNextHeader(cmsg);
> }
> }
> if(message.Header.msg_flags & MSG_NOTIFICATION) {
> sctp_notification* notification = (sctp_notification*)&buffer;
> printNotification(notification);
> }
> else{
> buffer[dataLength] = 0x00;
> handleRecievedData(buffer,dataLength,streamID);
> }
> }
> }
> }
>
> /thanks Torbjörn
> _______________________________________________
> discussion mailing list
> discussion AT sctp.de
> http://www.sctp.de/mailman/listinfo/discussion

- --
=======================================================================
Dipl.-Inform. Thomas Dreibholz

University of Essen, Room ES210
Inst. for Experimental Mathematics Ellernstraße 29
Computer Networking Technology Group D-45326 Essen/Germany
- -----------------------------------------------------------------------
E-Mail:
dreibh AT exp-math.uni-essen.de
Homepage: http://www.exp-math.uni-essen.de/~dreibh
=======================================================================

- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Weitere Infos: siehe http://www.gnupg.org

mQGiBDr2cOgRBAC71Xhy1yzNTBxnousyxwtZ+zxRQJIfkDUQ8Yry5/rdoRkUldnE
VQUNX9owxKKwA40DsKMX5lfPIgfPpefqnSOx1/XOtjpffkF8+FY8ncU/LKvHPPw3
oNXzFAr8F6NqpJAIbp8eW6DlfraXiJFZk0D6sZyIk9XDqTY01+Dn5WmAewCg4Szj
r52geHYk+6n83yfVqw8+c3MD/A9d4ylhJikTHzbL83HTO7WozqlGtZq0rwGY+JIq
wPAaRAdBnu0brQz7xtfTZrvxA6v3sYb73bpuosaQNtg1K5Z0l0fbJQxls7wCdSC4
GmkXyl64c1bPiGMHu7WVE85mwdm4KyD7qELnnNKZoagFgK1HNYFJtuUDYQ3ihBQq
k0VnBACaqJ4k/VJYPQvuWy0fppX+Ultyqz2rrHqqVvaSotjc8muxwM0OL42ZCjL1
scuFb1TonojymUFa1nqe6uYU5Owjh2CRfs5+TnMUO7S7vXQRQgWPffIE7kJqL46G
S79MmHXVWwmO1WMpJooTlsCUv+J+pAWpYu5nJY4X/s+1DXSA9LQvVGhvbWFzIERy
ZWliaG9seiA8ZHJlaWJoQGV4cC1tYXRoLnVuaS1lc3Nlbi5kZT6IVwQTEQIAFwUC
OvZw6AULBwoDBAMVAwIDFgIBAheAAAoJEN9gW7B2Dy1l6BcAnRhM7hgy3qOLDKps
qIY88XZaMjMqAKDHqpiM/8CFpti9TKeIP/mRbva/3rkCDQQ69nD8EAgApETE6wER
FSA5YMQvoqNPYpf8W3y+u+BJvD2QMdKXFy79XnYCoOB26q0JK5gGw1GTB39ANOpc
3x5dkSNDiJptntB9DX7SEb1V+GU62XZOhju6o4GbLlhRsy40SVvzZ/RldkoYeCRH
1JghU7EkGsn8RcLuRFj7AgW+bWkIyC3NCGZN+mdc/mmRxYqeFpMQv2+Xnb1EuCk6
jqDJL6IjVKueYZD5XtKXW+QAj1UlRo9vGpNLs7oZz3QahEgf0S5Cn9eLp2JRr94D
FVoInZwziOWyEJ8BrJoydDgCAb/5eEdrAc+7ibuPSOnOxVH8ae9zyNbdimSJGDt1
pnfEz/Cw3cYYvwADBwf/bV9iJO22zTJaB5Sz8dzbQfwaa55fugi7DvPOe5eiE1p9
/W+uPJTYZ7WQxarM8q/h8BztwOAfeUKztzoGSVvEfxha8Wnvz/3rLWLK1Ok+v9ZV
ElrAYmJbbEci1Lmk1vXwmjcYoojYl/25mhkvucg8zVO8WfNYCwBUkGUGUj+SQpbf
xEt80dyGm6KFv9XO1fAzlUXkWBODZ4vDPNRY+Ay4evAFkbfKFgHXMUBvtXlGfuSQ
pTRXNt0mfRVZ4OeeIKbPdCI8DX5ND9+cIWEQJ2APgWta+h61kwJ5c7k2xxabbYt6
v9jTzPr57yvVle4fOV6ExUeCcFaRIzvX+87FMoac+YhGBBgRAgAGBQI69nD8AAoJ
EN9gW7B2Dy1lPpwAnR3YQYZRN4WouZwLcGpfMfH2X5RVAKDCa7d6Hwhoa7DrPaTA
P/965IPybA==
=g36Q
- -----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8sWyx32BbsHYPLWURApc9AJ41NIISYiK8gm9cKJdMINHT0Vf8qgCaAr6q
qT9y9FAcm88cDM+TqOTt8vU=
=+qcL
-----END PGP SIGNATURE-----




Archive powered by MHonArc 2.6.19+.

Top of page