<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY><!-- Converted from text/plain format -->
<P><FONT size=2>Hi,<BR><BR>I'm not sure where to submit this, but I wanted to 
share it with everyone just in case they're using ID3v2.3.<BR><BR>I found a 
buffer overrun</FONT> <FONT size=2>in the code in file mp3_parse.cpp.</FONT></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">bool</SPAN><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"> 
Mp3Info::Parse(ID3_Reader& reader, size_t mp3size)<?xml:namespace prefix = o 
ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN>…<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN>…<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN><SPAN style="COLOR: blue">const</SPAN> 
size_t VBR_HEADER_MIN_SIZE = 8;<SPAN 
style="mso-spacerun: yes">     </SPAN><SPAN 
style="COLOR: green">// "xing" + flags are fixed<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN>const size_t VBR_HEADER_MAX_SIZE = 
120;<SPAN style="mso-spacerun: yes">   </SPAN>// frames (4), bytes 
(4), toc (100) and scale (4) are optional + 
VBR_HEADER_MIN_SIZE<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN>//const size_t VBR_HEADER_MAX_SIZE = 
116;<SPAN style="mso-spacerun: yes">   </SPAN>// frames, bytes, toc 
and </SPAN><SPAN 
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">scale 
are optional<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN><SPAN style="COLOR: blue">if</SPAN> 
(mp3size >= vbr_header_offest + VBR_HEADER_MIN_SIZE) <o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">  </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">char</SPAN> vbrheaderdata[VBR_HEADER_MAX_SIZE+1]; <SPAN 
style="COLOR: green">//+1 to hold the 0 char<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">unsigned</SPAN> <SPAN style="COLOR: blue">char</SPAN> 
*pvbrdata = (<SPAN style="COLOR: blue">unsigned</SPAN> <SPAN 
style="COLOR: blue">char</SPAN> *)vbrheaderdata;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">int</SPAN> vbr_filesize = 0;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">int</SPAN> vbr_scale = 0;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">int</SPAN> vbr_flags = 0;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: green">// get fixed part of vbr header 
<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: green">// and check if valid<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN>beg = 
vbr_header_offest;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    
</SPAN>reader.setCur(beg);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    
</SPAN>reader.readChars(vbrheaderdata, 
VBR_HEADER_MIN_SIZE);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    
</SPAN>vbrheaderdata[VBR_HEADER_MIN_SIZE] = <SPAN 
style="COLOR: maroon">'\0'</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN><SPAN 
style="COLOR: blue">if</SPAN> (pvbrdata[0] == <SPAN 
style="COLOR: maroon">'X'</SPAN> &&<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>pvbrdata[1] == <SPAN style="COLOR: maroon">'i'</SPAN> 
&&<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>pvbrdata[2] == <SPAN style="COLOR: maroon">'n'</SPAN> 
&&<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>pvbrdata[3] == <SPAN 
style="COLOR: maroon">'g'</SPAN>)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">    </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN><SPAN 
style="COLOR: green">// get vbr flags<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN>pvbrdata += 
4;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN>vbr_flags = 
ExtractI4(pvbrdata);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN>pvbrdata += 
4;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN><SPAN 
style="COLOR: green">//<SPAN style="mso-spacerun: yes">  </SPAN>read entire 
vbr header<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN>int 
vbr_header_size = VBR_HEADER_MIN_SIZE<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">                           
</SPAN>+ ((vbr_flags & FRAMES_FLAG)? 4:0)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">                           
</SPAN>+ ((vbr_flags & BYTES_FLAG)? 4:0)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">                           
</SPAN>+ ((vbr_flags & TOC_FLAG)? 100:0)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">                           
</SPAN>+ ((vbr_flags & SCALE_FLAG)? 4:0);<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-tab-count: 1">      </SPAN>// in this 
scenario, vbr_header_size can equal<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-tab-count: 1">      </SPAN>// 
VBR_HEADER_MIN_SIZE + 4 + 4 + 100 + 4 = 120<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-tab-count: 1">      </SPAN>// which is 
bigger than 116.<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      </SPAN><SPAN 
style="COLOR: blue">if</SPAN> (mp3size >= vbr_header_offest + 
vbr_header_size) <o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">      
</SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>reader.readChars(&vbrheaderdata[VBR_HEADER_MIN_SIZE], vbr_header_size 
- VBR_HEADER_MIN_SIZE); <o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>vbrheaderdata[vbr_header_size] = '\0';<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-tab-count: 1">      </SPAN><SPAN 
style="mso-spacerun: yes">  </SPAN>// and then you’re using the index 
calculated above to<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-tab-count: 1">      </SPAN><SPAN 
style="mso-spacerun: yes">  </SPAN>// write into the 
buffer!<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN><SPAN style="COLOR: green">// get frames, bytes, toc and 
scale<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN><SPAN style="COLOR: blue">if</SPAN> (vbr_flags & 
FRAMES_FLAG)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">          
</SPAN>vbr_frames = ExtractI4(pvbrdata); <o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">          
</SPAN>pvbrdata +=4;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><o:p> </o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN><SPAN style="COLOR: blue">if</SPAN> (vbr_flags & 
BYTES_FLAG)<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">          
</SPAN>vbr_filesize = ExtractI4(pvbrdata); <o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">          
</SPAN>pvbrdata +=4;<o:p></o:p></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"><SPAN 
style="mso-spacerun: yes">        
</SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p> </o:p></P>
<P><FONT face=Arial color=#0000ff size=2></FONT> </P></BODY></HTML>