From: jcorgan Date: Sun, 11 Mar 2007 16:32:34 +0000 (+0000) Subject: Fixed state machine hangup with invalid payload_len field. X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=1cdeff14aa038f53336f871f588e6b6a2d67a82d;p=debian%2Fgnuradio Fixed state machine hangup with invalid payload_len field. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4737 221aa14e-8319-0410-a670-987f0aec2ac5 --- diff --git a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc index 1d939adb..be5209a7 100644 --- a/gnuradio-core/src/lib/general/gr_framer_sink_1.cc +++ b/gnuradio-core/src/lib/general/gr_framer_sink_1.cc @@ -57,6 +57,11 @@ gr_framer_sink_1::enter_have_header(int payload_len, int whitener_offset) 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;