[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/mac/tkn154 ScanP.nc, 1.7, 1.8

Jan-Hinrich Hauer janhauer at users.sourceforge.net
Mon Apr 27 02:42:10 PDT 2009


Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/mac/tkn154
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27557/tos/lib/mac/tkn154

Modified Files:
	ScanP.nc 
Log Message:
frame must only be accessed in active/orphan scan

Index: ScanP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/mac/tkn154/ScanP.nc,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ScanP.nc	27 Apr 2009 09:26:18 -0000	1.7
--- ScanP.nc	27 Apr 2009 09:42:08 -0000	1.8
***************
*** 133,156 ****
        status = IEEE154_UNSUPPORTED_SECURITY;
      } if ((ScanType > 3) || (ScanType < 3 && ScanDuration > 14) || 
!           (ChannelPage != IEEE154_SUPPORTED_CHANNELPAGE) ||
!           !(supportedChannels & ScanChannels) ||
!           ((ScanType != ORPHAN_SCAN) &&
!           ((EnergyDetectListNumEntries && PANDescriptorListNumEntries) ||
            (EnergyDetectList != NULL && PANDescriptorList != NULL) ||
            (EnergyDetectListNumEntries && EnergyDetectList == NULL) ||
            (PANDescriptorListNumEntries && PANDescriptorList == NULL)))) {
        status = IEEE154_INVALID_PARAMETER;
!     } else if (ScanType != ENERGY_DETECTION_SCAN &&
!         !(m_txFrame = call TxFramePool.get())) { 
        status = IEEE154_TRANSACTION_OVERFLOW;
!     } else if (ScanType != ENERGY_DETECTION_SCAN &&
!         !(txControl = call TxControlPool.get())) { 
        call TxFramePool.put(m_txFrame);
        m_txFrame = NULL;
        status = IEEE154_TRANSACTION_OVERFLOW;
      } else {
!       m_txFrame->header = &txControl->header;
!       m_txFrame->payload = m_payload;
!       m_txFrame->metadata = &txControl->metadata;
        m_busy = TRUE;
        m_scanType = ScanType;
--- 133,158 ----
        status = IEEE154_UNSUPPORTED_SECURITY;
      } if ((ScanType > 3) || (ScanType < 3 && ScanDuration > 14) || 
!         (ChannelPage != IEEE154_SUPPORTED_CHANNELPAGE) ||
!         !(supportedChannels & ScanChannels) ||
!         ((ScanType != ORPHAN_SCAN) &&
!          ((EnergyDetectListNumEntries && PANDescriptorListNumEntries) ||
            (EnergyDetectList != NULL && PANDescriptorList != NULL) ||
            (EnergyDetectListNumEntries && EnergyDetectList == NULL) ||
            (PANDescriptorListNumEntries && PANDescriptorList == NULL)))) {
        status = IEEE154_INVALID_PARAMETER;
!     } else if ((ScanType == ACTIVE_SCAN || ScanType == ORPHAN_SCAN) &&
!         ((m_txFrame = call TxFramePool.get()) == NULL)) {
        status = IEEE154_TRANSACTION_OVERFLOW;
!     } else if ((ScanType == ACTIVE_SCAN || ScanType == ORPHAN_SCAN) &&
!         ((txControl = call TxControlPool.get()) == NULL)) { 
        call TxFramePool.put(m_txFrame);
        m_txFrame = NULL;
        status = IEEE154_TRANSACTION_OVERFLOW;
      } else {
!       if (m_txFrame != NULL){
!         m_txFrame->header = &txControl->header;
!         m_txFrame->payload = m_payload;
!         m_txFrame->metadata = &txControl->metadata;
!       }
        m_busy = TRUE;
        m_scanType = ScanType;



More information about the Tinyos-2-commits mailing list