I have a pcap application that uses a filter  (as below). The 15th time I call pcap_compile(),  it fails with the error &quot;too many registers needed to evaluate expression&quot;. <br>I&#39;m using PCAP v4.0.1 and developer pack 
4.0.1.<br><br>Is there a call other than pcap_freecode() I should be using to free the memory allocated&nbsp;in the pcap_compile() command?<br><br>int main()<br>{<br>//...<br>&nbsp;&nbsp;&nbsp;&nbsp;pcap_t *pcapHandle = pcap_open_live( curDev-&gt;name, 65536, 1, 1000, errbuf);
<br>&nbsp;&nbsp;&nbsp;&nbsp;airHandle = pcap_get_airpcap_handle( pcapHandle );<br>&nbsp;&nbsp;&nbsp;&nbsp;PAirpcapHandle AirpcapSetDeviceChannel( airHandle, channel );<br>&nbsp;&nbsp;&nbsp;&nbsp;struct bpf_program fcode = { 0 };<br><br>&nbsp;&nbsp;&nbsp;&nbsp;for( int i = 0; i &lt; 15; ++i ) {<br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if( pcap_compile( pcapHandle, &amp;fcode, &quot;wlan[0] = 0x80&quot;,  //beacon //&quot;wlan[0] = 0xd4&quot;,    //ack 1, 0xffffff ) &lt; 0 )
<br>    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fprintf( stderr, &quot;\n[%d]Filter Error. %s\n&quot;, i, pcap_geterr( pcapHandle ) );<br>        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pcap_freecode( &amp;fcode );<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>//...<br>&nbsp;&nbsp;&nbsp;&nbsp;return 0;
<br>}<br><br>&gt;[14]Filter Error. too many registers needed to evaluate expression<br><br>Thanks,<br>Paul<br>