1、指针未判空
uint8_t *UMN = (uint8_t *)app_mem_malloc( sizeof(user_manage_t) );
memset( UMN, 0x00, sizeof(user_manage_t));
if(FLASH_OK != flashWriteMutex((uint32_t) USER_MANAGER_ADDR_TEMP, (uint8_t *) UMN, sizeof(user_manage_t), 3000))
{
DBG_ERROR("user write err.");
}
else
{
DBG_ERROR("clen user");
}
app_mem_free(UMN);
2、指针使用错误
uint8_t *UMN = (uint8_t *)app_mem_malloc( sizeof(user_manage_t) );
if( NULL != UMN )
{
memset( &UMN, 0x00, sizeof(user_manage_t));
if(FLASH_OK != flashWriteMutex((uint32_t) USER_MANAGER_ADDR_TEMP, (uint8_t *) UMN, sizeof(user_manage_t), 3000))
{
DBG_ERROR("user write err.");
}
else
{
DBG_ERROR("clen user");
}
app_mem_free(UMN);
}
3、malloc使用错误
uint8_t *aes_key = (uint8_t *)app_mem_malloc(AES_KEY_COUNT);
if (NULL == aes_key)
{
DBG_ERROR("security_init key buff malloc error..\n");
return false;
}
app_memset(aes_key, 0, AES_KEY_COUNT + 1);