File tree Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Expand file tree Collapse file tree 1 file changed +16
-8
lines changed Original file line number Diff line number Diff line change @@ -1715,21 +1715,29 @@ XS(XS_NT__NetAdmin_LocalGroupIsMember)
17151715 AllocWideName ((char * )SvPV (ST (1 ),n_a ), lpwGroup );
17161716 do {
17171717 PLOCALGROUP_MEMBERS_INFO_0 pwzMembersInfo ;
1718+ pwzMembersInfo = NULL ;
17181719 lastError = NetLocalGroupGetMembers (lpwServer , lpwGroup , 0 ,
17191720 (LPBYTE * )& pwzMembersInfo ,
17201721 PREFLEN , & entriesRead ,
17211722 & totalEntries , & resumeHandle );
1722- if (lastError != 0 && lastError != ERROR_MORE_DATA )
1723+ if (lastError != 0 && lastError != ERROR_MORE_DATA ) {
1724+ if (pwzMembersInfo != NULL ) {
1725+ NetApiBufferFree (pwzMembersInfo );
1726+ }
17231727 break ;
1724- for (index = 0 ; index < entriesRead ; ++ index )
1725- if (EqualSid (pSid , pwzMembersInfo [index ].lgrmi0_sid ) != 0 ){
1726- bReturn = TRUE;
1727- break ;
1728- }
1728+ }
1729+
1730+ if (bReturn == FALSE) {
1731+ for (index = 0 ; index < entriesRead ; ++ index ) {
1732+ if (EqualSid (pSid , pwzMembersInfo [index ].lgrmi0_sid ) != 0 ){
1733+ bReturn = TRUE;
1734+ break ;
1735+ }
1736+ }
1737+ }
17291738
17301739 NetApiBufferFree (pwzMembersInfo );
1731- } while (bReturn == FALSE &&
1732- (lastError == ERROR_MORE_DATA || resumeHandle != 0 ));
1740+ } while (lastError == ERROR_MORE_DATA || resumeHandle != 0 );
17331741
17341742 free (pSid );
17351743 FreeWideName (lpwServer );
You can’t perform that action at this time.
0 commit comments