From 1cdeff14aa038f53336f871f588e6b6a2d67a82d Mon Sep 17 00:00:00 2001 From: jcorgan Date: Sun, 11 Mar 2007 16:32:34 +0000 Subject: [PATCH] Fixed state machine hangup with invalid payload_len field. git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4737 221aa14e-8319-0410-a670-987f0aec2ac5 --- gnuradio-core/src/lib/general/gr_framer_sink_1.cc | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.47.2