/*
** Function used to free session structure
**
** IN:
**      FTPSRV_SESSION_STRUCT* session - session structure pointer
**
** OUT:
**      none
**
** Return Value: 
**      none
*/
static void ftpsrv_ses_free(FTPSRV_SESSION_STRUCT *session)
{
    if (session)
    {
        if(session->buffer)
        {
            _mem_free(session->buffer);
            session->buffer = NULL;
        }
        if(session->auth_input.uid)
        {
            _mem_free(session->auth_input.uid);
            session->auth_input.uid = NULL;
        }
        if(session->auth_input.pass && strcmp(session->auth_input.pass, ""))
        {
            _mem_free(session->auth_input.pass);
            session->auth_input.pass = NULL;
        }
        if(session->cur_dir)
        {
            _mem_free(session->cur_dir);
        }
        if (session->msg_queue != NULL)
        {
            _lwmsgq_deinit(session->msg_queue);
            _mem_zero(session->msg_queue, sizeof(LWMSGQ_STRUCT) + FTPSRV_NUM_MESSAGES*sizeof(FTPSRV_TRANSFER_MSG)*sizeof(_mqx_max_type));
            _mem_free(session->msg_queue);
        }
        _mem_free(session);
    }
}
Exemple #2
0
uint32_t OS_MsgQ_destroy(os_msgq_handle msgq)
{
    _lwmsgq_deinit(msgq);
    _mem_free(msgq);
    return (uint32_t)OS_MSGQ_OK;
}