From dfdb8736c750079bc42d274a416c9f7ea3f820dc Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 12 Oct 2023 17:19:21 +0200 Subject: [PATCH] s4:rpc_server: simplify logic in dcesrv_epm_Map matching Signed-off-by: Stefan Metzmacher Reviewed-by: Andrew Bartlett --- source4/rpc_server/epmapper/rpc_epmapper.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source4/rpc_server/epmapper/rpc_epmapper.c b/source4/rpc_server/epmapper/rpc_epmapper.c index c104c79e4f8..43ccc342a1a 100644 --- a/source4/rpc_server/epmapper/rpc_epmapper.c +++ b/source4/rpc_server/epmapper/rpc_epmapper.c @@ -237,13 +237,18 @@ static error_status_t dcesrv_epm_Map(struct dcesrv_call_state *dce_call, TALLOC_ } for (i=0;iin.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; -- 2.47.3