]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
proper fix for short packets
authoridgay <idgay>
Fri, 25 Jul 2008 16:27:52 +0000 (16:27 +0000)
committeridgay <idgay>
Fri, 25 Jul 2008 16:27:52 +0000 (16:27 +0000)
tos/chips/cc2420/receive/CC2420ReceiveP.nc

index 710d0d7e9d4757ccf80b098edf1210352b7ae1ab..30a421914b9da6a819bfe2e3db99dc92b7ba03c2 100644 (file)
@@ -214,7 +214,7 @@ implementation {
         
         if(rxFrameLength <= MAC_PACKET_SIZE) {
           if(rxFrameLength > 0) {
-            if(rxFrameLength >= CC2420_SIZE) {
+            if(rxFrameLength > SACK_HEADER_LENGTH) {
               // This packet has an FCF byte plus at least one more byte to read
               call RXFIFO.continueRead(buf + 1, SACK_HEADER_LENGTH);
               
@@ -334,7 +334,7 @@ implementation {
     metadata->lqi = buf[ length ] & 0x7f;
     metadata->rssi = buf[ length - 1 ];
     
-    if(passesAddressCheck(m_p_rx_buf)) {
+    if (passesAddressCheck(m_p_rx_buf) && length >= CC2420_SIZE) {
       m_p_rx_buf = signal Receive.receive( m_p_rx_buf, m_p_rx_buf->data, 
                                           length - CC2420_SIZE);
     }