Zero pointer trouble
"Rasmus Erfurt" <[email protected]> Fri, 2 Mar 2007 12:58:37 +0100
| Newsgroups | gmane.comp.gnu.ccrtp.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, I had some problems when trying to receive 3 audio streams (SSRC's) in the same session. Once every 5-10 seconds, the code would segfault due to recvLast pointer = NULL. I have attached a diff that works around the problem. /R _______________________________________________ Ccrtp-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/ccrtp-devel
ccrtp.diff
(text/plain, 709 B)
--- ccrtp-1.5.1/src/incqueue.cpp 2006-12-31 14:12:33.000000000 +0100
+++ ccrtp-1.5.1.new/src/incqueue.cpp 2007-03-02 11:15:17.000000000 +0100
@@ -439,10 +439,18 @@
srcLink->getLast()->setSrcNext(packetLink);
packetLink->setSrcPrev(srcLink->getLast());
srcLink->setLast(packetLink);
+/* added by RER who was experiencing 0 pointers to recvLast */
+ if ( recvLast ) {
+ recvLast->setNext(packetLink);
+ packetLink->setPrev(recvLast);
+ }
+ recvLast = packetLink;
+#if 0
// the last packet in the global queue
recvLast->setNext(packetLink);
packetLink->setPrev(recvLast);
recvLast = packetLink;
+#endif
}
}
// account the insertion of this packet into the queue