Author: jcorgan
Date: 2007-03-11 10:32:34 -0600 (Sun, 11 Mar 2007)
New Revision: 4737
Modified:
gnuradio/trunk/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
Log:
Fixed state machine hangup with invalid payload_len field.
Modified: gnuradio/trunk/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
2007-03-09 02:27:22 UTC (rev 4736)
+++ gnuradio/trunk/gnuradio-core/src/lib/general/gr_framer_sink_1.cc
2007-03-11 16:32:34 UTC (rev 4737)
@@ -57,6 +57,11 @@
if (VERBOSE)
fprintf(stderr, "@ enter_have_header (payload_len = %d) (offset = %d)\n",
payload_len, whitener_offset);
+ if (payload_len < 4) { // should be at least the length of the CRC
field
+ enter_search();
+ return;
+ }
+
d_state = STATE_HAVE_HEADER;
d_packetlen = payload_len;
d_packet_whitener_offset = whitener_offset;
_______________________________________________
Commit-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/commit-gnuradio