@@ -684,6 +684,11 @@ static void nsp_interface_position_in_table(const STAT *pstat,
684684 }
685685}
686686
687+ static inline bool session_check (const NSPI_HANDLE &h, const ab_tree::ab_base &base)
688+ {
689+ return g_session_check && base.guid () == h.guid ;
690+ }
691+
687692ec_error_t nsp_interface_update_stat (NSPI_HANDLE handle, uint32_t reserved,
688693 STAT *pstat, int32_t *pdelta)
689694{
@@ -692,7 +697,7 @@ ec_error_t nsp_interface_update_stat(NSPI_HANDLE handle, uint32_t reserved,
692697 if (pstat == nullptr || pstat->codepage == CP_WINUNICODE)
693698 return ecNotSupported;
694699 auto pbase = ab_tree::AB.get (handle.guid );
695- if (pbase == nullptr || (g_session_check && pbase-> guid () != handle. guid ))
700+ if (pbase == nullptr || ! session_check (handle, * pbase))
696701 return ecError;
697702
698703 uint32_t init_row = 0 , total = 0 ;
@@ -789,7 +794,7 @@ ec_error_t nsp_interface_query_rows(NSPI_HANDLE handle, uint32_t flags,
789794 return ecTableTooBig;
790795 }
791796 auto pbase = ab_tree::AB.get (handle.guid );
792- if (pbase == nullptr || (g_session_check && pbase-> guid () != handle. guid ))
797+ if (pbase == nullptr || ! session_check (handle, * pbase))
793798 return ecError;
794799 auto rowset = common_util_proprowset_init ();
795800 if (rowset == nullptr )
@@ -940,7 +945,7 @@ ec_error_t nsp_interface_seek_entries(NSPI_HANDLE handle, uint32_t reserved,
940945 return ecTableTooBig;
941946 }
942947 auto pbase = ab_tree::AB.get (handle.guid );
943- if (pbase == nullptr || (g_session_check && pbase-> guid () != handle. guid ))
948+ if (pbase == nullptr || ! session_check (handle, * pbase))
944949 return ecError;
945950 auto rowset = common_util_proprowset_init ();
946951 if (rowset == nullptr )
@@ -1193,7 +1198,7 @@ ec_error_t nsp_interface_get_matches(NSPI_HANDLE handle, uint32_t reserved1,
11931198 if (reserved1 != 0 || ppropname != nullptr )
11941199 return ecNotSupported;
11951200 auto base = ab_tree::AB.get (handle.guid );
1196- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1201+ if (base == nullptr || ! session_check (handle, * base))
11971202 return ecError;
11981203 auto outmids = common_util_proptagarray_init ();
11991204 if (outmids == nullptr )
@@ -1362,7 +1367,7 @@ ec_error_t nsp_interface_resort_restriction(NSPI_HANDLE handle, uint32_t reserve
13621367 if (outmids->pproptag == nullptr )
13631368 return ecServerOOM;
13641369 auto base = ab_tree::AB.get (handle.guid );
1365- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1370+ if (base == nullptr || ! session_check (handle, * base))
13661371 return ecError;
13671372
13681373 size_t count = 0 ;
@@ -1407,7 +1412,7 @@ ec_error_t nsp_interface_dntomid(NSPI_HANDLE handle, uint32_t reserved,
14071412 if (pnames == nullptr )
14081413 return ecSuccess;
14091414 auto base = ab_tree::AB.get (handle.guid );
1410- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1415+ if (base == nullptr || ! session_check (handle, * base))
14111416 return ecError;
14121417 auto outmids = ndr_stack_anew<LPROPTAG_ARRAY>(NDR_STACK_OUT);
14131418 if (outmids == nullptr )
@@ -1543,7 +1548,7 @@ ec_error_t nsp_interface_get_proplist(NSPI_HANDLE handle, uint32_t flags,
15431548 if (mid == 0 )
15441549 return ecInvalidObject;
15451550 auto base = ab_tree::AB.get (handle.guid );
1546- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1551+ if (base == nullptr || ! session_check (handle, * base))
15471552 return ecError;
15481553 *tags = ndr_stack_anew<LPROPTAG_ARRAY>(NDR_STACK_OUT);
15491554 if (*tags == nullptr )
@@ -1590,7 +1595,7 @@ ec_error_t nsp_interface_get_props(NSPI_HANDLE handle, uint32_t flags,
15901595 return ecNotSupported;
15911596 bool b_ephid = flags & fEphID ;
15921597 auto base = ab_tree::AB.get (handle.guid );
1593- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1598+ if (base == nullptr || ! session_check (handle, * base))
15941599 return ecError;
15951600 if (g_nsp_trace >= 2 ) {
15961601 if (pproptags == nullptr ) {
@@ -1709,7 +1714,7 @@ ec_error_t nsp_interface_compare_mids(NSPI_HANDLE handle, uint32_t reserved,
17091714 if (pstat != nullptr && pstat->codepage == CP_WINUNICODE)
17101715 return ecNotSupported;
17111716 auto base = ab_tree::AB.get (handle.guid );
1712- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1717+ if (base == nullptr || ! session_check (handle, * base))
17131718 return ecError;
17141719
17151720 if (NULL == pstat || 0 == pstat->container_id ) {
@@ -1865,7 +1870,7 @@ ec_error_t nsp_interface_get_specialtable(NSPI_HANDLE handle, uint32_t flags,
18651870 if (!b_unicode && codepage == CP_WINUNICODE)
18661871 return ecNotSupported;
18671872 auto base = ab_tree::AB.get (handle.guid );
1868- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1873+ if (base == nullptr || ! session_check (handle, * base))
18691874 return ecError;
18701875 (*pversion) ++;
18711876 auto rowset = common_util_proprowset_init ();
@@ -1908,7 +1913,7 @@ ec_error_t nsp_interface_mod_linkatt(NSPI_HANDLE handle, uint32_t flags,
19081913 return ecNotSupported;
19091914 auto rpc_info = get_rpc_info ();
19101915 auto base = ab_tree::AB.get (handle.guid );
1911- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
1916+ if (base == nullptr || ! session_check (handle, * base))
19121917 return ecError;
19131918 ab_tree::ab_node tnode (base, mid);
19141919 if (!tnode.exists ())
@@ -2119,7 +2124,7 @@ ec_error_t nsp_interface_resolve_namesw(NSPI_HANDLE handle, uint32_t reserved,
21192124 non-zero so we skip it.
21202125 */
21212126 auto base = ab_tree::AB.get (handle.guid );
2122- if (base == nullptr || (g_session_check && base-> guid () != handle. guid ))
2127+ if (base == nullptr || ! session_check (handle, * base))
21232128 return ecError;
21242129 if (NULL == pproptags) {
21252130 auto nt = ndr_stack_anew<LPROPTAG_ARRAY>(NDR_STACK_IN);
0 commit comments