Fix one coding error of using a temporary variable in the global structure NdefMap

In the following code: the local variable PacketDataLength is a local
variable in stack, but used in the ndefMap which is a global structure.
When the function phFriNfc_NdefMap_EraseNdef( ) returns, the
PacketDataLength will be freed, too. If it is used later via the pointer
in NdefMap, will cause some of potential issues. Fix it by re-define it
as static.

NFCSTATUS phFriNfc_NdefMap_EraseNdef(phFriNfc_NdefMap_t *NdefMap)
{
    NFCSTATUS   status = NFCSTATUS_PENDING;

    static uint8_t     PktData[3] = PH_FRINFC_NDEFMAP_EMPTY_NDEF_MSG;
    uint8_t     MemOffset = PH_FRINFC_NDEFMAP_SEEK_BEGIN;
    uint32_t    PacketDataLength = sizeof(PktData);

...
                /*  Mifare card selected. Call Mifare Write */
                status =  phFriNfc_NdefMap_WrNdef( NdefMap,
                    PktData,
                    &PacketDataLength,
                    MemOffset);
                break;
...
}

Change-Id: Iee278fe39749619aa44c620138eae85a46f6e4a5
Signed-off-by: Dejan REBRACA <dejanx.rebraca@intel.com>
Signed-off-by: Ken Wahid <kenx.wahid@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
1 file changed
tree: d85d5e3e39a610bedf99b634c70671173e6b2515
  1. inc/
  2. Linux_x86/
  3. src/
  4. Android.mk
  5. CleanSpec.mk