]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:rpc_server: simplify logic in dcesrv_epm_Map matching
authorStefan Metzmacher <metze@samba.org>
Thu, 12 Oct 2023 15:19:21 +0000 (17:19 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 17 Oct 2023 19:20:38 +0000 (19:20 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/rpc_server/epmapper/rpc_epmapper.c

index c104c79e4f82860fd4ec8a351f294d450814e056..43ccc342a1a19b62978425201bfc2a1940bbc695 100644 (file)
@@ -237,13 +237,18 @@ static error_status_t dcesrv_epm_Map(struct dcesrv_call_state *dce_call, TALLOC_
        }
 
        for (i=0;i<count;i++) {
-               if (
-                       data_blob_cmp(&r->in.map_tower->tower.floors[0].lhs.lhs_data, 
-                       &eps[i].ep.floors[0].lhs.lhs_data) != 0 
-                       || transport != dcerpc_transport_by_tower(&eps[i].ep)) {
+               int cmp;
+
+               if (transport != dcerpc_transport_by_tower(&eps[i].ep)) {
                        continue;
                }
-               
+
+               cmp = data_blob_cmp(&r->in.map_tower->tower.floors[0].lhs.lhs_data,
+                                   &eps[i].ep.floors[0].lhs.lhs_data);
+               if (cmp != 0) {
+                       continue;
+               }
+
                r->out.towers->twr->tower = eps[i].ep;
                r->out.towers->twr->tower_length = 0;
                return EPMAPPER_STATUS_OK;