Re: Segementation fault in onGotSDES

David Sugar <[email protected]>
Newsgroups gmane.comp.gnu.ccrtp.devel
Organization GNU Telephony
Message-ID <[email protected]>
updated and released as 1.3.4.

Michel de Boer wrote:
> Yes, that's the guy to remove.
> 
> David Sugar wrote:
> 
>> So...
>>
>>               } else if ( pkt->fh.type == RTCPPacket::tAPP ) {
>>                       onGotAPP(*s,pkt->info.APP,pkt->getLength());
>> // remove this guy?   pointer += pkt->getLength();
>>               } else {
>>
>> I see yes after the check, it is incremented again...
>>
>> I was looking at a different change, which was to set an optional 
>> default stack size for rtp threads...but if I get at least this 
>> confirmed, I will do a new release.
>>
>> Michel de Boer wrote:
>>
>>> Federico,
>>>
>>> I just looked at the code in control.cpp and I think you forgot a bit
>>> of my patch.
>>>
>>> In ccrtp-1.3.3 I now find this code:
>>>
>>>       if ( checkSSRCInRTCPPkt(*sourceLink,source_created,
>>>                               network_address,
>>>                               transport_port) ) {
>>>               if ( pkt->fh.type == RTCPPacket::tSDES ) {
>>>                       bool cname = onGotSDES(*s,*pkt);
>>>                       cname_found = cname_found? cname_found : cname;
>>>               } else if ( pkt->fh.type == RTCPPacket::tAPP ) {
>>>                       onGotAPP(*s,pkt->info.APP,pkt->getLength());
>>>                       pointer += pkt->getLength();
>>>               } else {
>>>                       // error?
>>>               }
>>>       }
>>>       // Get the next packet in the compound.
>>>       pointer += pkt->getLength();
>>>       pkt = reinterpret_cast<RTCPPacket *>(rtcpRecvBuffer +pointer);
>>>
>>> The 'pointer += pkt->getLength()' in the tAPP else if branch should be
>>> removed. Now the pointer gets incremented twice in case of an APP
>>> packet.
>>>
>>> Previously I you had the increments in the tDES and tAPP branches.
>>> With my proposed patch I deleted those increments and added the
>>> increment at the end of the loop. This way you would not get in
>>> inifite loop if you'd ever hit the 'error' branch.
>>>
>>> Regards,
>>> Michel
>>>
>>>
>>>
>>> Federico Montesino Pouzols wrote:
>>>
>>>> I've just applied your patch. As you have experienced this bug could
>>>> cause random crashes depending on the random memory contents. Good bug
>>>> hunt!
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Ccrtp-devel mailing list
>>> [email protected]
>>> http://lists.gnu.org/mailman/listinfo/ccrtp-devel
> 
> 
> 
> _______________________________________________
> Ccrtp-devel mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/ccrtp-devel

_______________________________________________
Ccrtp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/ccrtp-devel
dyfet.vcf (text/x-vcard, 187 B)
begin:vcard
fn:David Sugar
n:Sugar;David
org:GNU Telephony
adr:;;;;;;USA
email;internet:[email protected]
x-mozilla-html:FALSE
url:http://www.gnutelephony.org
version:2.1
end:vcard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.