← Back to team overview

rohc team mailing list archive

Re: decompressor not working for me

 

Hi Didier,

THe patch you have given does this:
16bitvalue = ((packet[1] << 8) | packet[0]);

I think it should have been 
16bitvalue = ((packet[0] << 8) | packet[1]);

what do you say? 

as thats how i did in my fix:

        {
	uint16_t temp = 0;
	temp = packet[0];
	temp <<= 8;
	temp |= packet[1];   
	//ipv4_set_id(&active1->ip, *((uint16_t *) packet));
	ipv4_set_id(&active1->ip, temp);	
        }

Can you please send another patch, if you agree with me?

Regards,
Harpreet

On Mon, 2009-11-30 at 14:50 +0100, Didier Barvaux wrote:
> Hi,
> 
> > Thanks for explaining.
> > 
> > I understand why second stream will have 21 byte header.
> > 
> > I am jyst trying to figure out where exactl the code breaks.
> > 
> > Previously i was able to pinpoint where uint16_t access was happening.
> > 
> > In this crash, I am not sure which instruction from which is doing
> > the problem work.
> 
> It is difficult to tell you without using a debugger such as gdb.
> 
> The patch I sent to you fixes all the possible illegal casts on odd
> addresses, so it should solve all occurrence of the bug at once.
> 
> Didier Barvaux
> Viveris Technologies
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~rohc
> Post to     : rohc@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~rohc
> More help   : https://help.launchpad.net/ListHelp


-- 
Software Engineer
1Spatial Australia
+61 3 52616840




Follow ups

References