Shift Operation Can Lead to Unknown Behaviour in mozilla-2.0/media/libtheora/lib/huffdec.c
If the if-statement if(!bits){ is false for the first visit of the for(;;){ loop, the value of len > is 0 and the shift operation can lead to a problem: code_bit=0x80000000U>>len-1;
The code doesn't use the result if len<0. The following while explicitly has a len>0 check and immediately afterwards there's an if(len<=0)break;