The CCI_GET_RESULT_INFO_NAME macro gets the index-th column name of a prepared SELECT statement. It does not check whether the specified argument, res_info, is NULL and whether index is valid. You cannot delete the returned memory pointer with free().
#define CCI_GET_RESULT_INFO_NAME(T_CCI_COL_INFO* res_info, int index)