On Thursday 31 December 2009 11:23:00 Harald Welte wrote:
Hi Zecke,
Now what
happens is:
1.) some system information types structs are already bigger
than the 23 bytes...
why are they? How can that be? How can a SI message be larger than the
physical limitation of the MAC-Block? This sounds like the root cause
of the problem to me.
This was bullshit...
Here is the root cause:
For SI5 and SI6 we have to deal with the BS11 of having left the length field
out... What we are doing is:
char output[23];
if (is_nano_bts) {
*output = len;
++output;
}
si6 = (struct si6*) output;
memset(si6, padding, 23);
And one thing I have found as well, but it seems more like I'm wrong. All
data_len of the bitvector are one too big? Is that done on purpose?
Patch 0001 and 0003 are of cosmetic nature, 0002 and 0004 seem to fix the stack
corruption my system is seeing.
regards
holger