void CleanUsersInfo(LINACONFIG *lc) { USERINFO *Usr; if(lc->Ulist==NULL) return; Resetlink(lc->Ulist); while ((Usr=(USERINFO *)Getrecord(lc->Ulist))!= NULL) { FreeUserInfo(Usr); } Dempty(lc->Ulist); lc->Ulist=NULL; }
/* * ValidateForInvalidParams * * Function validates the API for Invalid function parameters. * */ static DWORD ValidateForInvalidParams( HANDLE hLsaConnection, PTESTDATA pTestData ) { DWORD dwError = LW_ERROR_SUCCESS; DWORD dwLocalError = LW_ERROR_SUCCESS; DWORD dwTest = 0; CHAR szTestMsg[256] = { 0 }; PLWTFAILDATA pInvalidData = NULL; PVOID pUserInfo = NULL; PCSTR pszTestAPIs = "LsaFindUserByName"; PCSTR pszTestDescription = "API returns invalid parameter error for invalid function parameters"; if ( !pTestData || !pTestData->pInvalidDataIface ) { dwLocalError = LW_ERROR_TEST_SKIPPED; BAIL_ON_TEST_BROKE(dwLocalError); } for ( dwTest = 0; dwTest < pTestData->dwNumInvalidDataSet; dwTest++ ) { dwLocalError = GetInvalidDataRecord( pTestData, dwTest, &pInvalidData); BAIL_ON_TEST_BROKE(dwLocalError); if ( LWTUSER_INVALID == pInvalidData->Field ) { dwLocalError = LsaFindUserByName( hLsaConnection, pInvalidData->pszUserName, pInvalidData->dwLevel, &pUserInfo ); if ( dwLocalError != pInvalidData->dwErrorCode ) { dwError = LW_ERROR_TEST_FAILED; snprintf( szTestMsg, sizeof(szTestMsg), "API returned with error code (%lu) for invalid user name parameter", (unsigned long)dwLocalError); LWT_LOG_TEST(szTestMsg); } FreeUserInfo(pInvalidData->dwLevel, pUserInfo); } if ( LWTUSERINFOLEVEL_INVALID == pInvalidData->Field ) { dwLocalError = LsaFindUserByName( hLsaConnection, pInvalidData->pszUserName, pInvalidData->dwLevel, &pUserInfo ); if ( dwLocalError != pInvalidData->dwErrorCode ) { dwError = LW_ERROR_TEST_FAILED; snprintf( szTestMsg, sizeof(szTestMsg), "API returned with error code (%lu) for invalid user name parameter", (unsigned long)dwLocalError); LWT_LOG_TEST(szTestMsg); } FreeUserInfo(pInvalidData->dwLevel, pUserInfo); } FreeInvalidDataRecord(pInvalidData); } error: return dwError; }